Ergebnis 1 bis 25 von 25

Thema: Neue Erweiterung parentslist

  1. #1
    Contao-Urgestein Avatar von jan.theofel
    Registriert seit
    23.06.2009.
    Ort
    Berlin
    Beiträge
    1.846

    Standard Neue Erweiterung parentslist

    Hi,

    wir haben gerade die Erweiterung parentslist als Beta online gestellt, die sich an Entwickler richtet.

    Als Entwickler stellt sich einem häufiger die Aufgabe, dass man auf auf das Wurzelelement oder alle Vorfahrenelemente zugreifen muss um dort Einstellungen auszulesen. Dies geschieht meistens mit rekursiven Datenbankabfragen, bis man sich zum Wurzelelement durchgearbeitet hat.

    Die Erweiterung parentslist stellt nun zwei neue Felder in der Tabelle tl_page zur Verfügung. In dem Feld rootId wird die ID des Wurzelelements gespeichert um direkt auf dieses zugreifen zu können. In dem Feld parents wird eine kommaseparierte Liste aller Vorkommen angelegt - vom direkten Elternelement über das Großelternelemente und so fort bis zum Wurzelelement. Beides ermöglicht den Zugriff auf die benötigten Informationen mit einer einzigen SQL-Abfrage.

    Die kommaseparierte Liste kann dabei direkt als Teil der SQL-Abfrage verwendet werden:
    Code:
    select * from tl_page where id in (27,5,2);
    Mit dieser kleinen Erweiterung kann man sich als Entwickler also einiges an Arbeit sparen und Contao kann im Frontend damit beschleunigt werden, da die neuen Felder immer nur beim Speichern oder Verschieben von Seiten neu befüllt werden.

    Wir freuen uns über Testfeedback und Nutzung in anderen Erweiterungen.

    Jan
    Jan Theofel
    Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

  2. #2
    AG CMS-Garden
    Contao-Urgestein
    Avatar von lindesbs
    Registriert seit
    05.06.2009.
    Ort
    Oer-Erkenschwick
    Beiträge
    4.154
    Partner-ID
    keine
    User beschenken
    Wunschliste

    Standard

    Wenn ich es richtig verstehe ist es also das komplement zum Controller::getChildRecords ?
    http://dev.contao.org/projects/typol...ller.php#L2335
    von Willi Voltz aus PR 500: Henry George sagte einmal: »Kultur ist Zusammenarbeit.«


    Contao-Hosting: begeisterter Uberspace-Nutzer

  3. #3
    Contao-Urgestein Avatar von jan.theofel
    Registriert seit
    23.06.2009.
    Ort
    Berlin
    Beiträge
    1.846

    Standard

    Hi,

    ich habe gerade die Version 1.0.0 RC1 mit einem wichtigen Bugfix veröffentlicht: Die runonce.php hat bislang nur funktioniert, wenn die Felder zuvor bereits vorhanden waren. Das war bei unseren Tests zufällig der Fall, so dass der Fehler nicht aufgefallen ist. Nun werden die Felder mit angelegt, so dass es kein Problem ist, dass runonce.php vor den Contao-Datenbankupdates läuft.

    Jan
    Jan Theofel
    Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

  4. #4
    Contao-Urgestein Avatar von jan.theofel
    Registriert seit
    23.06.2009.
    Ort
    Berlin
    Beiträge
    1.846

    Standard

    Hi,

    soeben habe ich Version 1.0.0 RC2 freigegeben.

    Die neue Version funktioniert nun auch korrekt, wenn Seiten kopiert werden.

    Wenn ihr bereits alte Versionen zum Testen verwendet, bitte diese vorher löschen (oder alternativ die Spalten parents und rootId in der Tabelle tl_page) löschen und dann frisch installieren. Sonst könnten alte Werte zurückbleiben, die inkonsistent sind. Danke!

    Gruß
    Jan
    Jan Theofel
    Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

  5. #5
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.744
    User beschenken
    Wunschliste

    Standard

    Hallo Jan,

    ich bin über die Erweiterung gestossen, da favicon das verwendet (für was auch immer...)


    kurze Nachfrage: wäre es nicht bei "Aufdröselung" der Eltern-Kind-Beziehung sinnvoller gewesen das als Nested-Set abzubilden?

    Gruss zonky

  6. #6
    Contao-Urgestein Avatar von jan.theofel
    Registriert seit
    23.06.2009.
    Ort
    Berlin
    Beiträge
    1.846

    Standard

    Hi Zonky,

    Zitat Zitat von zonky Beitrag anzeigen
    ich bin über die Erweiterung gestossen, da favicon das verwendet (für was auch immer...)
    Das nutze ich für die Vererbung, damit man auf jeder Ebene der Seitenstruktur ein Favicon definieren kann, was dann auf alle Unterseiten vererbt wird.

    Zitat Zitat von zonky Beitrag anzeigen
    kurze Nachfrage: wäre es nicht bei "Aufdröselung" der Eltern-Kind-Beziehung sinnvoller gewesen das als Nested-Set abzubilden?
    Das würde auch gehen, aber der Weg erschien mir einfacher.

    Jan
    Jan Theofel
    Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

  7. #7
    Contao-Nutzer
    Registriert seit
    20.02.2010.
    Ort
    Oetwil an der Limmat, Schweiz
    Beiträge
    11

    Standard

    Hallo Jan

    Nachdem ich Probleme mit FavIcon auf 2.10.1 hatte, die auf parentslist hindeuten (siehe Thread FavIcon dazu), habe ich gefunden, dass Contao 2.10.1 Backend.php nach .../parentslist/config/runonce.php sucht, während in der Package parentslist scheinbar runonce.php direkt unter .../parentslist/ liegt. Darum wird dann die Initialisierung nicht gemacht, was zu etwas weniger erfreulichen Ergebnissen führt.

    Den Sachverhalt habe ich im ZIP vom ER soeben überprüft:

    TL_ROOT/system/modules/parentslist/backup.txt 1584 June 15th, 2011 10:55
    TL_ROOT/system/modules/parentslist/config/.htaccess 30 June 15th, 2011 10:55
    TL_ROOT/system/modules/parentslist/config/database.sql 803 June 15th, 2011 10:55
    TL_ROOT/system/modules/parentslist/dca/.htaccess 30 June 15th, 2011 10:55
    TL_ROOT/system/modules/parentslist/dca/tl_page.php 5080 June 15th, 2011 10:55
    TL_ROOT/system/modules/parentslist/runonce.php 1812 June 15th, 2011 10:55
    TL_ROOT/system/runonce.php 2123 June 15th, 2011 10:55


    Sehe ich da was falsch?

    Grüsse & Danke
    Peter

  8. #8
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.744
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von jan.theofel Beitrag anzeigen

    Das würde auch gehen, aber der Weg erschien mir einfacher.

    Jan
    Nestet Sets sind per phpmyadmin kaum oder nicht mehr zu "lesen" und das Ändern des Baumes dauert etwas... dafür sind die Abfragen "schneller" da man nicht/kaum noch mit rekursiven Funktionen arbeiten muss; man kann fast alle Abfragen schön per SQL machen...


    ich fand NS immer "schick" ;-)

    zonky

  9. #9
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.744
    User beschenken
    Wunschliste

    Standard

    Moin,

    ich wühle mich gerade durch eine Fehlermeldung und finde die Ursache leider nicht - ich habe 2.10.3 + Boilerplate

    Code:
    Fatal error: Uncaught exception Exception with message Query error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') as mysort from tl_page where id in () order by mysort' at line 1 (select faviconExternal, faviconPath, appleTouchIconExternal, appleTouchIconPath, field(id,) as mysort from tl_page where id in () order by mysort;) thrown in /var/www/work/system/libraries/Database.php on line 677
    
    #0 /var/www/work/system/libraries/Database.php(624): Database_Statement->query()
    #1 /var/www/work/system/libraries/Database.php(164): Database_Statement->execute()
    #2 /var/www/work/system/modules/favicon/favicon.php(47): Database->execute('select faviconE...')
    #3 /var/www/work/system/modules/frontend/PageRegular.php(116): favicon->createFavicon(Object(DB_Mysql_Result), Object(DB_Mysql_Result), Object(PageRegular))
    #4 /var/www/work/index.php(200): PageRegular->generate(Object(DB_Mysql_Result))
    #5 /var/www/work/index.php(319): Index->run()
    #6 {main}
    die Meldung bezieht sich demnach auf das SQL-Query

    Code:
          $parents = $this->Database->execute("select faviconExternal, faviconPath, appleTouchIconExternal, appleTouchIconPath, field(id," . $objPage->parents . ") as mysort from tl_page where id in (" . $objPage->parents . ") order by mysort;");
    bei dem $objPage->parents leer ist... ???

    in der Tabelle tl_page hat der "oberste Eintrag" mit id=0 den Wert 0 in parents - in allen anderen Zeilen steht "nix"

    btw.:
    zwei Sachen könnten m.E. abgefangen werden:

    1.) wenn die Ext von parentlist abhängig ist, sollte das vorher geprüft werden (http://www.contao.glen-langer.de/ext...stalliert.html) und eine Meldung ins SysLog

    2.) wenn in $objPage->parents nix drinn steht, sollte die Query nicht ausgeführt werden


    gruss zonky

  10. #10
    Contao-Urgestein Avatar von jan.theofel
    Registriert seit
    23.06.2009.
    Ort
    Berlin
    Beiträge
    1.846

    Standard

    Hi,

    hmm, da scheint es in der aktuellen Version ein Problem mit der runonce zu geben. Muss ich mir gleich mal anschauen. Die Idee, dass in Favicon zu prüfen und ggf. einfach keine Abfrage durchzuführen gefällt mir. Das baue ich zur Sicherheit in die neue Version mit ein!

    Jan
    Jan Theofel
    Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

  11. #11
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.744
    User beschenken
    Wunschliste

    Standard

    ... stehe für Test & "Zuarbeit" gern zur Verfügung...

    zonky

  12. #12
    Contao-Urgestein Avatar von jan.theofel
    Registriert seit
    23.06.2009.
    Ort
    Berlin
    Beiträge
    1.846

    Standard

    Hi,

    die korrigierte Version von parentslist mit komplett überarbeiteter runonce-Logik steht als Version 1.1.1 im Repository zur Verfügung. Alle Anpassungen sind im Ticketsystem dokumentiert.

    Jan
    Jan Theofel
    Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

  13. #13
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.744
    User beschenken
    Wunschliste

    Standard

    :-(

    Aktualisiert => Fehler bleibt

  14. #14
    Contao-Urgestein Avatar von jan.theofel
    Registriert seit
    23.06.2009.
    Ort
    Berlin
    Beiträge
    1.846

    Standard

    Hi,

    lösch die Erweiterung bitte einmal und installiere sie komplett neu. Hilft das?

    Danke,
    Jan
    Jan Theofel
    Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

  15. #15
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.744
    User beschenken
    Wunschliste

    Standard

    deinstalliert + neu installiert => der Fehler bleibt

    (Kleiner Schönheitsfehler: in den Einstellungen > Erweiterungen ist bei parentslist keine Bezeichnung)

  16. #16
    Contao-Urgestein Avatar von jan.theofel
    Registriert seit
    23.06.2009.
    Ort
    Berlin
    Beiträge
    1.846

    Standard

    Hi,

    was für Felder wurden dir beim Datenbank-Update nach der Erweiterungs-Installation als hinzuzufügen angezeigt? Welche Version der Erweiterung wurde bei dir installiert?

    Jan
    Jan Theofel
    Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

  17. #17
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.744
    User beschenken
    Wunschliste

    Standard

    parentslist war/ist die 1.1.1 B3

    beim Deinstallieren:
    Code:
    Lösche Dateien
    system/modules/parentslist/backup.txt erfolgreich
    system/modules/parentslist/config/.htaccess erfolgreich
    system/modules/parentslist/config/database.sql erfolgreich
    system/modules/parentslist/config/runonce.php nicht gefunden
    system/modules/parentslist/dca/.htaccess erfolgreich
    system/modules/parentslist/dca/tl_page.php erfolgreich
    system/modules/parentslist/runonce.php erfolgreich
    system/runonce.php nicht gefunden
    Lösche Verzeichnisse
    system/modules/parentslist/dca erfolgreich
    system/modules/parentslist/config erfolgreich
    system/modules/parentslist erfolgreich
    
    Datenbank aktualisieren
    x	Select all
    x ALTER TABLE `tl_page` DROP `parents`;
    x ALTER TABLE `tl_page` DROP `rootId`;
    x ALTER TABLE `tl_page` DROP `updatechilds`;
    x ALTER TABLE `tl_page` DROP `childrens`;

    beim Installieren kommt Meldung "Datenbank aktuell" ???

  18. #18
    Contao-Urgestein Avatar von jan.theofel
    Registriert seit
    23.06.2009.
    Ort
    Berlin
    Beiträge
    1.846

    Standard

    Hi,

    Zitat Zitat von zonky Beitrag anzeigen
    beim Installieren kommt Meldung "Datenbank aktuell" ???
    Das ist ok und ein gutes Zeichen, weil dann die runonce zumindest ausgeführt und die Felder bereits vor dem Datenbankupdate angelegt worden sind.

    Was ergeben denn die beiden folgenden Abfrage bei dir auf der Datenbank? (Mit installiertem Modul.)

    SELECT id FROM tl_page WHERE pid=0;

    SELECT id FROM tl_page WHERE pid=0 AND (parents = '' OR parents IS NULL OR childrens = '' OR childrens IS NULL);

    Jan
    Jan Theofel
    Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

  19. #19
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.744
    User beschenken
    Wunschliste

    Standard

    ich habs nochmal deinstalliert und die Felder per Hand gelöscht + neu installiert

    Code:
    	Select all
    	
    
    ALTER TABLE `tl_page` ADD `rootId` int(10) unsigned NOT NULL default '0';
    
    	
    
    ALTER TABLE `tl_page` ADD `updatechilds` int(1) unsigned NOT NULL default '0';
    
    	
    
    ALTER TABLE `tl_page` ADD `parents` varchar(64) NOT NULL default '';
    
    	
    
    ALTER TABLE `tl_page` ADD `childrens` blob NULL;
    die Felder sind nun da und rootId und updatechilds sind in allen Zeilen 0 | 0

    wenn ich beide Ext aktiviere kommt dennoch die Fehler-Meldung

  20. #20
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.744
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von jan.theofel Beitrag anzeigen

    SELECT id FROM tl_page WHERE pid=0;
    => 1

    Zitat Zitat von jan.theofel Beitrag anzeigen

    SELECT id FROM tl_page WHERE pid=0 AND (parents = '' OR parents IS NULL OR childrens = '' OR childrens IS NULL);
    => 1

  21. #21
    Contao-Urgestein Avatar von jan.theofel
    Registriert seit
    23.06.2009.
    Ort
    Berlin
    Beiträge
    1.846

    Standard

    Hi,

    dann bin ich etwas ratlos. Denn das ist genau die Abfrage, die in der runonce entscheidet wo der Aufbau des Seitenbaums beginnt.

    Was sagt denn - wenn das nicht zu lang ist?

    SELECT id, pid, parents, childrens FROM tl_page;

    Jan
    Jan Theofel
    Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

  22. #22
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.744
    User beschenken
    Wunschliste

    Standard

    Code:
    1 	0 	
    	
    2 	1 	
    	
    3 	1 	
    	
    4 	1 	
    	
    19 	1 	
    	
    5 	1 	
    	
    34 	33 	
    	
    15 	5 	
    	
    8 	33 	
    	
    11 	5 	
    	
    12 	15 	
    	
    13 	8 	
    	
    16 	1 	
    	
    14 	5 	
    	
    17 	8 	
    	
    18 	5 	
    	
    20 	27 	
    	
    21 	33 	
    	
    22 	21 	
    	
    23 	21 	
    	
    26 	5 	
    	
    27 	5 	
    	
    28 	1 	
    	
    29 	1 	
    	
    30 	1 	
    	
    31 	1 	
    	
    32 	1 	
    	
    33 	1

  23. #23
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.744
    User beschenken
    Wunschliste

    Standard

    ... mit was wird den $objPage->parents in favicon "gefüttert"

  24. #24
    Contao-Urgestein Avatar von jan.theofel
    Registriert seit
    23.06.2009.
    Ort
    Berlin
    Beiträge
    1.846

    Standard

    Hi,

    sehe ich das richtig, dass die Felder rootId, parents und childrens bei dir in tl_page komplett leer sind? Wenn dem so ist müsste man das bei dir in der Installation direkt debuggen warum bei dir die runonce zwar läuft, diese aber nicht diese Felder befüllt. Dazu müsstest du mir bitte Kontaktdaten (noch keine Logins!) per PM zukommen lassen.

    In den Feldern stehen jeweils Listen der übergeordneten Elemente, der untergeordneten Elemente und der direkte Zugriff auf das Wurzelelement (rootId).

    Jan
    Jan Theofel
    Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

  25. #25
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.744
    User beschenken
    Wunschliste

    Standard

    Hallo Jan,

    ich habe jetzt das zweite Upgrade von 9.5 auf 10.3 mit dem Fehler => musste Favicon abschalten :-(

    ... schon eine Idee??

    zonky

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. [simple_event_registration] Neue Erweiterung
    Von felixpfeiffer im Forum Sonstige Erweiterungen
    Antworten: 414
    Letzter Beitrag: 25.03.2021, 10:20
  2. [mod_articlefilter] Artikelfilter ... neue Erweiterung
    Von schaak im Forum Sonstige Erweiterungen
    Antworten: 257
    Letzter Beitrag: 06.04.2018, 23:33
  3. Neue Erweiterung etracker
    Von jan.theofel im Forum Sonstige Erweiterungen
    Antworten: 24
    Letzter Beitrag: 11.03.2013, 12:52
  4. Neue Erweiterung Hyphenator (Silbentrennung)
    Von jawi im Forum Entwickler-Fragen
    Antworten: 37
    Letzter Beitrag: 28.12.2012, 14:22
  5. Neue Erweiterung browsercss
    Von jan.theofel im Forum Sonstige Erweiterungen
    Antworten: 24
    Letzter Beitrag: 23.08.2011, 11:44

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •