Pimcore hat für noch nicht veröffentlichte Seiten einen Vorschaumodus. Diesen erreicht man im Backend über einen Link. Leider lassen sich im Vorschaumodus die Unterseiten der nicht veröffentlichten nicht ansehen. Das ist etwas unpraktisch, schliesslich will man in der Vorschau die komplette Seite testen können. Wie für alles gibt es auch dafür eine Lösung.
Und selbstverständlich ist sie einfacher als vielleicht zuerst gedacht. Nötig dafür ist nur ein simples kleines Javascript, welches nur in eben jenem Vorschaumodus geladen wird. Dafür ergänzt man im Layout folgende Zeilen:
if ($this->getRequest()->getParam("pimcore_preview") == "true") {
$this->headScript()->appendFile('/static/js/preview.js', 'text/javascript');
}
Das Javascript-File selbst sieht so aus:
$(function() {
$("a").attr('href', function(i, h) {
return h + (h.indexOf('?') != -1 ? "&pimcore_preview=true" : "?pimcore_preview=true");
});
});
Damit wird jedem Link on-the-fly der pimcore_preview Parameter angehängt, so dass man im preview modus bleibt und auch alle Unterseiten der noch nicht veröffentlichten Seite anschauen kann.