Vorschaufunktion (CMS)
Der Daniel Busch hat eine Vorschaufunktion für unser CMS gebastelt. Ich hab diese noch ein wenig überarbeitet und darf sie euch heute vorstellen.
Als erstes fügen wir in der /admin/includes/site-edit.php den Vorschaubutton ein:
<input name="vorschau" type="submit" value="Vorschau" onclick="form.action='/<?PHP echo $page->alias; ?>.html' ; target='_blank' ; return true" /> <input name="save" type="submit" value="Ändern" />
Mit diesem Button gelangt ihr auf die normale Ansicht der Seite. Mit dem Unterschied, dass ihr über die Parameter den neuen Inhalt erhalten. Diesen können wir im Skin nun einfach ausgeben (system/skins/default/index.php):
</div> <?PHP if($_POST['content']){ echo $_POST['content']; } else{ sys::includeContent(); } ?> </div>
Und schon seht ihr den neuen Inhalt vor allen anderen! Was wir evtl. noch reinbringen könnten, ist eine Überprüfung ob es sich um den Admin handelt. So kann ein fremder User nicht einfach über einen Button seinen Content anzeigen lassen.
Danke für diese Funktion, Daniel. Wer selbst noch etwas mitentwickeln möchte, kann sich diesen Post mal ansehen.
Du arbeitest in einer Agentur oder als Freelancer?
Dann wirf doch mal einen Blick auf unsere Software FeatValue.
Kommentare
Daniel schrieb am 16.02.2010:
Auf die if-else Bedingung hätte ich ja auch kommen können. Naja, vom Meister geschlagen worden zu sein ist ja nicht so schlimm.
Tobias schrieb am 17.02.2010:
fehlt da nicht ein @ vorm $_POST ? ka ich machs immer so weil wenn nichts angegeben ist ist die variable ja nicht vorhanden wenn ich es richtig verstanden habe
Daniel schrieb am 17.02.2010:
Also das mit dem @ habe ich noch nicht gehört. Das manual von php.net sagt auch nichts darüber aus.
Daniel schrieb am 17.02.2010:
Es besteht immer noch das Problem mit den submit-Buttons. Wenn ich Vorschau vor Ändern klicke bekomme ich bei einem nachfolgenden klick auf Ändern wieder die Vorschau angezeigt. Kann man den speziellen submit aus dem Speicher des Browser löschen oder müssen wir mit einer if- isset -Abfragefunktion die Vorschau aufrufen bzw die Änderung in die Seiten/Datenbank eintragen?
Stefan Wienströer schrieb am 17.02.2010:
@Tobias: Ich würde das wenn dann mit isset machen. Siehe https://www.php.net/manual/de/function.isset.php @Daniel: Das hab ich jetzt gar nicht mehr getestet. Aber du änderst beim onClick die form action, so dass wir das beim normalen Speichern zurücksetzen müssen. Werd in Kürze nen Bugfix-Beitrag schreiben.
Über uns
Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project