terminal42 / contao-pageimage

MIT License
12 stars 13 forks source link

Fehler seit Contao 3.2 #7

Closed stefansl closed 10 years ago

stefansl commented 10 years ago

In Contao 3.2 funktioniert pageimage nicht mehr. Liegt offensichtlich am Datenbank-Feld. Ändere ich den Typ in binary, geht's.

CREATE TABLE `tl_page` (
  `pageImage` binary(16) NULL,
  `pageImageJumpTo` varchar(255) NOT NULL default '',
  `pageImageAlt` varchar(255) NOT NULL default '',
  `pageImageTitle` varchar(255) NOT NULL default '',
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Allerdings funktioniert die Vererbung auch nicht mehr. Ich hatte aber leider noch keine Zeit zur Recherche.

aschempp commented 10 years ago

Das liegt daran, dass sich die Datei-ID in Contao 3.2 geändert hat. Das Modul ist damit aktuell nicht kompatibel.

stefansl commented 10 years ago

ja, deswegen habe ich erstmal für mich einen Workaround geschaffen: https://github.com/stefansl/contao-pageimage Fehlt eigentlich nur noch die runonce, oder?

silvar23 commented 10 years ago

Ich habe mal die Vererbung korrigiert, also das Bilder von übergeordneten Seiten genommen werden falls die Seite selbst kein Bild definiert hat. https://github.com/silvar23/contao-pageimage/blob/master/ModulePageImage.php

stefansl commented 10 years ago

Die Vererbung hat doch schon funktioniert. Zumindest in Contao 3.2.

silvar23 commented 10 years ago

Komisch bei mir leider nicht (Contao 3.2.1), da bei mir

// Current page has an image
if ($objPage->pageImage)

immer gegriffen hat, da leere pageImage den Inhalt 0000\0000\0000\0000 hatten. Vielleicht hab ich auch die falschen Defaults für das Feld in der DB, sorry dann war es mein Fehler.

hendrik-d commented 10 years ago

Wurde der Bug mittlerweile behoben? Im Erweiterungskatalog wird sie als kompatibel zu 3.2.3 angezeigt, allerdings lassen sich nach wie vor keine Bilder in den Seiteneigenschaften speichern (Wert verliert sich durch das Speichern)

hendrik-d commented 10 years ago

Fehlt da nicht noch eine Änderung in der database.sql in deinem Workaround @stefansl ? https://github.com/hendrik-d/contao-pageimage/blob/patch-1/config/database.sql Ansonsten funktioniert es ja nicht, bzw. wenn man manuell auf binary(16) umstellt, gibts die Meldung, dass die Datenbank nicht aktuell sei, weil er wieder auf varchar will…

Unter Contao 3.2.3 funktioniert bei mir die Vererbung ebenfalls nicht, auch nicht mit dem Fix von @silvar23

stefansl commented 10 years ago

@hendrik-d Stimmt, aber wie kann ich das jetzt zusammenführen? Bin nicht so der Github-Crack. Das Problem mit der Vererbung liegt an den falschen default-Werten in der Datenbank. Zum Testen einfach mal eine Seite mit leeren PageImage-Feld in der Seitenstruktur öffnen und neu speichern.

hendrik-d commented 10 years ago

@stefansl Geht mir leider ähnlich. Setz die Zeile sonst doch einfach bei dir ein – geht wahrscheinlich schneller. Wie ändert man das mit den default-Werten in der DB?

stefansl commented 10 years ago

Einfach eine Seite neu speichern -> wie vorhin beschrieben.

hendrik-d commented 10 years ago

Hab ich gerade mal überprüft – ich setze den default-Wert manuell in der DB auf NULL, dann geht es – öffne ich dann die Seite uns speichere wieder, habe ich erneut "00000000000000000000000000000000" drin? Wobei die Zeile in der database.sql pageImage binary(16) NULLihm doch sagt, dass er default NULL sein soll?

silvar23 commented 10 years ago

@hendrik-d das gleiche Problem hatte ich auch. Deswegen habe ich das Script umgestellt und prüfe $strImage und nicht mehr $objImage. Läuft bei mir bisher problemlos.

Siehe: https://github.com/silvar23/contao-pageimage/blob/master/ModulePageImage.php

zonky2 commented 10 years ago

ich habe auch die 2.0.0 stable 9 mit dem selben Problem... obwohl für 3.2.7 kompatibel..?? gibt es ein Update-Script für die eingetragenen Bilddateien?

aschempp commented 10 years ago

Probiert doch mal mit dem develop-Branch von GitHub.

zonky2 commented 10 years ago

Frage ist, wie rettet man seine vorhandenen Einträge...

NinaG commented 10 years ago

Wenn ich den develop-Branch einspiele und die Datenbank update, erhalte ich diese Fehlermeldung im Frontend:

Fatal error: Access level to PageImage::__construct() must be public (as in class Contao\Frontend) in /www/htdocs/XXX/system/modules/pageimage/PageImage.php on line 236

zonky2 commented 10 years ago

das klingt nicht gut :-(

hendrik-d commented 10 years ago

Bei mir funktioniert es mittlerweile mit der 2.0.0 stable 9, und der Anpassung der database.sql https://github.com/hendrik-d/contao-pageimage/blob/patch-1/config/database.sql Allerdings habe ich dadurch auch alle Einträge verloren.

zonky2 commented 10 years ago

das Problem der "Konvertierung" der Bildinformation ist doch relativ allgemein und betrifft sowohl Contao Core als auch viele andere Erweiterungen - gibt es denn dazu keine Lösung?!?!

aschempp commented 10 years ago

https://github.com/terminal42/contao-pageimage/tree/release/3.0.0 sollte funktionieren. Update ist leider noch nicht enthalten, werden wir aber einbauen (ich mach ein neues Ticket).

zonky2 commented 10 years ago

auch wenn etwas off: hat jemand mal https://contao.org/de/extension-list/view/wp_uuid_creator.de.html getestet?

zonky2 commented 10 years ago

... ich habe mit dem UUI-Creator die Sache, Version 3.0.0 eingespielt, alle verloren gegangenen Bilder wieder reaktiviert...

funktioniert soweit... leider geht die Vererbung nicht, auch wenn in dem Moduleinstellungen "Übergeordnete Bilder verwenden" checked ist