[Frage] Seitenstruktur als Tabelle exportieren? TYPO3-Version: 6.2.7

  • jofoet3 jofoet3
    T3PO
    0 x
    18 Beiträge
    0 Hilfreiche Beiträge
    01. 07. 2016, 08:06

    Hallochen ihr Lieben,

    ich habe mal eine Frage, bei der ich überhaupt nicht weiter komme.
    Kann ich irgendwie die Seitenstruktur als Tabelle ausspielen?
    Ich habe hier eine riesige Seite mit mehreren tausend Unterseiten und würde wegen eines Relaunch gern diverse Unterabschnitte ausspielen, um den beteiligten Redakteuren einerseits einen guten Überblick und eine Arbeitsgrundlage geben.
    Das wäre mit einer Tabelle am sinnvollsten.
    Ich habe auch schon daran gedacht, mir das aus der Datenbank direkt zu holen, aber mit fällt kein geeignetes Statement ein, die Seiten inkl. der Unterseiten zu schnappen und diese auch noch miteinander zu verbundlen.

    Im Backend kann man ja per Modul "Liste" eine Ebene abgreifen, aber leider ohne die Unterseiten mit zu bekommen. Das ist richtig schade, denn das wäre genial, wenn das dort gehen würde.

    Hat jemand einen Ansatz, wie ich an sinnvolle, zusammenhängende Daten kommen könnte?

    :)


  • 1
  • jofoet3 jofoet3
    T3PO
    0 x
    18 Beiträge
    0 Hilfreiche Beiträge
    01. 07. 2016, 08:10

    Hmm, ich könnte mir natürlich ein kleinen PHP-Script machen... aber wenns noch einfacher ginge, bitte mal Bescheid geben. :)

    ... ok, hab nun zum Freitag noch angefangen zu scripten und habe nun die Struktur schon mal in ein Array laden lassen.
    Ich gieße das mal in eine Tabellenstruktur und kann das Script gern mal posten, wenn andere auch das Problem haben.

    Dennoch, wer einen einfacheren Weg kennt, immer raus damit! ;)

  • jofoet3 jofoet3
    T3PO
    0 x
    18 Beiträge
    0 Hilfreiche Beiträge
    07. 07. 2016, 15:35

    Ok, ich habs per PHP gut raus spielen können.
    Vielleicht nützt ja jemandem die kleine Funktion was bei eigenen Projekten:

    1. // Funktion zum erfassen der Seitenstruktur (Nur echte, offene Seiten unendlicher Tiefe)
    2. function pages($setPDO,$pid,$multidimensional,$p_name = '')
    3. {
    4. $pagetree = array();
    5.  
    6. // Abfrage
    7. $link = new PDO('mysql:host='.$setPDO['host'].';dbname='.$setPDO['db'].';charset=utf8',$setPDO['user'],$setPDO['pwd']);
    8. $query = $link->query("SELECT * FROM pages WHERE pid = '".$pid."' AND deleted <> '1' AND doktype < '10' AND hidden <> '1' ORDER BY sorting");
    9. $query->execute();
    10. // gefundene Datensätze durchgehen
    11. while($daten = $query->fetch(PDO::FETCH_OBJ))
    12. {
    13.  
    14. $pagetree[$daten->uid]['unterpfad'] = $p_name.'/';
    15. $pagetree[$daten->uid]['pfad'] = $p_name.'/'.$daten->title;
    16. $pagetree[$daten->uid]['uid'] = $daten->uid;
    17. $pagetree[$daten->uid]['title'] = $daten->title;
    18.  
    19.  
    20. // Aufruf der Fkt. für evtl. existierende Unterseiten in multidimensionalem oder Eindimensionalem Array()
    21. if($multidimensional == '1')
    22. {
    23. $pagetree[$daten->uid]['pid'] = pages($setPDO,$daten->uid,$multidimensional,$p_name.'/'.$daten->title);
    24. }
    25. else
    26. {
    27. $pagetree += pages($setPDO,$daten->uid,$multidimensional,$p_name.'/'.$daten->title);
    28. }
    29. }
    30. return $pagetree;
    31.  
    32. }
    33.  
    34.  
    35. // Hauptprogramm
    36.  
    37. // DB-Zugang
    38. $setPDO['db'] = 'dbname';
    39. $setPDO['user'] = 'username';
    40. $setPDO['pwd'] = 'passwort';
    41. $setPDO['host'] = 'localhost';
    42. // initial Variablen (am besten gleich aus einem Formular übergeben, bei großen Seiten)
    43. $multidimensional = '0'; // "0", also ein Eindimensionales Array, lässt sich prima durchlaufen, um z.B. eine CSV-Tabelle zu erstellen
    44. $subdomain = 'www.abc.de';
    45. $uid = '1';
    46. // Aufruf Funktion
    47. $pagetree = pages($setPDO,$uid,$multidimensional);

  • 1