Seite 1 von 1

PHP in Templates

Verfasst: Sa 5. Okt 2019, 10:32
von fra
Hallo,

für ein Template nutze ich ein PHP-Skript, dass ich mit exit() beende.

Seit der WE-Version 8.1 lassen sich Dokumente, die auf diesem Template basieren, nicht mehr veröffentlichen. WE kommt anscheinend mit exit() nicht zurecht. Das WE-Fehlerprotokoll ist leer.

Auch das Umschließen des Skriptes mit <we:ifNotWebEdition></we:ifNotWebEdition> löst das Problem nicht.
Gibt es noch andere Möglichkeiten, das Ausführen eines Skriptes innerhalb des Backends zu verhindern?

Viele Grüße
fra

Re: PHP in Templates

Verfasst: Mo 7. Okt 2019, 01:19
von mokraemer
das Problem tritt nur im Zusammenhang mit der Versionierung auf und ist eigentlich nicht neu. Bei der Versionierung wird (aktuell) eine Vorschau Version der Seite gespeichert - und die (soll) so aussehen wie die aktuelle Seite im Frontend, deshalb "greifen" da auch die Tags quasi nicht. Mittels exit wird der Interpreter eben komplett beendet und damit die Seite nicht mehr gespeichert. In den Vorlagen wird deshalb exit sogar ersetzt, vermutlich liegt in der Ersetzungsfunktion derzeit ein "Fehler" vor.
Grundsätzlich kann man mittels return oftmals den gleichen Effekt wie mit exit realisieren, nur das hierbei der Interpreter nicht getötet wird. Auch eine Deaktivierung der Versionierung von WE-Seiten hilft um das Problem zu beheben.
In nächsten Major Release, wird das Speichern der Vorschau geändert, wodurch dieses Problem gar nicht mehr in dieser Form auftreten kann.

Re: PHP in Templates

Verfasst: Mo 7. Okt 2019, 10:51
von fra
Danke für deine ausführliche Antwort.

VG
fra