Closed ghost closed 12 years ago
Die Bugbeschreibung ist falsch. Ich habe weiter recherchiert und es ist ein Problem mit dem Cachen von DB Results.
In der onload_callback (die vor der label_callback aufgerufen wird) mache ich bereits einen SELECT auf die Tabelle. Dort nutze ich die Methode ->execute($dc->id)
, weshalb der Wert irgendwie gecached wird. Später in der LabelCallback hat dann der gecachte Wert den Index 1 statt 0. Der Rest stimmt dann in meiner Beschreibung wieder.
Jetzt habe ich in der onload_callback ein ->executeUncached($dc->id)
gemacht und dadurch funktioniert alles wie erwartet. Dieses Ticket kann also geschlossen werden.
Es sei denn, es handelt sich mit dem Caching um einen Fehler. Das kann ich aber gerade nicht beurteilen, da ich zuwenig über das DB Caching von Contao weiß.
--- Originally created by matths on March 8th, 2011, at 03:19pm
Ich kann den Fehler nicht reproduzieren. Interessant wäre es auch was du in deinem onload_callback mit dem Database_Result machst, denn der Cache-Index müsste bei 0 beginnen und nicht bei 1.
--- Originally created on March 8th, 2011, at 11:05pm
Sicherheitshalber habe ich den Aufruf in der eb504516d9bfc9f7d0e47973f8c0c703 mal entsprechend geändert.
--- Originally created on March 22nd, 2011, at 11:41am
--- Originally completed on March 22nd, 2011, at 11:41am
Wenn eine Erweiterung den Listing mode 5 nutzt und die Tabelle der Erweiterung kein Feld "protected" hat, so wird in Zeile 3022 der DC_Table.php diese Eigenschaft dennoch gesetzt. Das macht aber das Database Result $objRow kaputt bzw. erweitert es so, dass der Aufruf von $objRow->row() nicht das gewünschte Ergebnis liefert. Das tritt nur dann auf, wenn man per copy oder cut eine Zeile in die "Zwischenablage" von Contao überführt hat.
Mögliche Lösung: Der Tabelle das Feld "protected" geben, analog zu tl_page.
Besser: Wenn die Tabelle das Feld nicht hat, dann in Zeile 3022 die Eigenschaft nicht versuchen zu überschreiben.
Eine genauere Herleitung wie ich auf den Fehler gestoßen bin, gibt's im Forum: http://www.contao-community.de/showthread.php?17587
--- Originally created by matths on March 8th, 2011, at 02:20pm (ID 2915)