Seiten automatisch online / offline schalten
Veröffentlichungsdatum: 13. Dezember 2018
Änderungsdatum: 06. Januar 2026
datei status online offline veröffentlichung verlinkung link
Über die Dateivorlage entscheiden Sie, ob ein Dokument automatisch nach dem Erstellen online geschaltet wird.
In älteren Projekten mußte man sich entscheiden, ob man Vorlagen online oder offline stellen wollte. Meist hatten Vorlagen den Online-Status off, um zu verhindern, dass eine Seite vor der ersten Bearbeitung bereits online ist. Somit lag es am Redakteur, eine Arbeitskopie vor der Veröffentlichung online zu schalten.
Onlinestatus über Templateinformationen beeinflussen
Die Templateinformationen eines aktuellen BASE Projektes ermöglichen es, zu einer erstmal offline gesetzten Vorlage zu definieren, daß diese direkt beim Öffnen der Bearbeitung die Arbeitskopie online setzt.
Über die Option "Beim Bearbeiten online schalten" können Sie die Vorlagen offline belassen und der Redakteur muss diese nicht extra online schalten, da der Editor beim ersten Öffnen den Status auf online setzt. Somit ist die Arbeitskopie bereits mit online-Status versehen, die bereits angelegte Original-Datei aber noch offline gesetzt. Erst nach dem Speichern wird der online-Status der Arbeitskopie auch in die Original-Datei übernommen.
In vielen Fällen ist dies die komfortabelste Art, neue Seiten, Meldungen und Artikel zu veröffentlichen. Diese Option wirkt sowohl bei sofort zu veröffentlichenden Seiten, als auch bei Seiten, die erst nach der Freigabe über einen Workflow veröffentlicht werden.
Kopierte Dateien beim Einfügen offline setzen
Wollen Sie beim Einfügen kopierter Datei erwirken, daß diese eingefügte Datei erstmal offline gesetzt ist, können Sie dies über ein Projektereignis bzw. Verzeichnisereignis umsetzen.
Wenn es für das gesamte Projekt gelten soll, setzen Sie dies am besten zu Ihrem Inhaltsprojekt (z.B. /de) über die Projektereignisse zum Ereignis onAfterCopyFile.
Projektereignis onAfterCopyFile zum Inhaltsprojekt mit setStatusOnline-Funktion
$document = new wDocument($eventData['fileNewPath']);
$document->setStatusOnline('off', array('fireEvents' => false));In aktuellen CMS-Versionen ist diese Aktion übrigens als Snippet auswählbar ("Datei nach dem Kopieren offline schalten").
Onlinestatus bei öffentlichen Benutzern setzen
Für öffentliche Benutzer, welche die Berechtigung zum Erstellen und Bearbeiten von Inhalten haben, sind die BASE Projekte so umgesetzt, daß beim Speichern einer Seite der Onlinestatus immer direkt auf online gesetzt wird.
Beispiel: Auszug aus /[IHR-LAYOUT-PROJEKT]/wGlobal/layout/templates/editmasks/standard.metadata.php
<!-- Falls ein öffentlicher Benutzer eine Objekt bearbeitet, wird dieses beim Speichern immer online gesetzt, ohne dass der öffentliche Benutzer die Auswahl sieht--> <!--web:text:start inputStyle="display:none" editor="select" values="on" --><xsl:value-of select="/wd:document/wd:extension/wd:status/wd:online/@status"/><!--web:text:stop-->
Onlinestatus bei Verlinkungen
Über die pre.php und eine PHP Framework-Funktion können Sie zum Projekt einstellen, daß Links zu offline gesetzten Seiten automatisch bei der Seitengenerierung entfernt werden.
Die aktuelle BASE ist dahingehend bereits im Standard wie folgt vorbereitet. Diese im Standard auskommentierte Zeile nach dem Include der Software pre-Datei aktivieren Sie in den Fall einfach.
Beispiel: Auszug aus der pre.php der BASE
//$preResult = wOutput::filterLinksOffline($preResult, array('displayOffline' => true, 'checkIndexPHP' => true, 'isOfflineUndef' => false));- Wie kann ich steuern, ob ein Dokument nach dem Erstellen automatisch online geschaltet wird?
- Über die Dateivorlage bzw. Templateinformationen können Sie festlegen, ob ein Dokument direkt nach dem Erstellen online oder zunächst offline geschaltet wird. Ziel ist es, zu verhindern, dass Seiten vor der ersten Bearbeitung bereits online sind.
- Was bedeutet die Option „Beim Bearbeiten online schalten“ bei Vorlagen?
- Wenn eine Vorlage offline belassen ist, kann über die Option „Beim Bearbeiten online schalten“ erreicht werden, dass die Arbeitskopie beim ersten Öffnen durch den Editor automatisch den Status auf online setzt. Die Original-Datei bleibt dabei zunächst offline. Erst nach dem Speichern wird der Online-Status der Arbeitskopie in die Original-Datei übernommen.
- Wann ist die Option „Beim Bearbeiten online schalten“ besonders praktisch?
- Sie eignet sich in vielen Fällen für die Veröffentlichung neuer Seiten, Meldungen und Artikel. Sie funktioniert sowohl für sofort zu veröffentlichende Inhalte als auch für Inhalte, die erst nach einer Freigabe über einen Workflow veröffentlicht werden.
- Wie kann ich beim Einfügen kopierter Dateien erreichen, dass diese zuerst offline sind?
- Das kann über ein Projektereignis bzw. Verzeichnisereignis umgesetzt werden. Für das gesamte Projekt empfiehlt sich z. B. die Konfiguration am Inhaltsprojekt (z. B. */de*) mit dem Ereignis *onAfterCopyFile*.
- Welche Funktion wird typischerweise im Projektereignis „onAfterCopyFile“ verwendet, um kopierte Dateien offline zu setzen?
- Beispielhaft wird die neu erzeugte Datei per Code als offline gesetzt, z. B. über eine wDocument-Instanz und die Methode setStatusOnline('off', ...).
- Gibt es dafür in aktuellen CMS-Versionen eine komfortablere Alternative als Code?
- Ja. In aktuellen CMS-Versionen ist die Aktion als Snippet auswählbar, z. B. mit der Bezeichnung „Datei nach dem Kopieren offline schalten“.
- Wie wird der Onlinestatus beim Speichern durch öffentliche Benutzer gehandhabt?
- Für öffentliche Benutzer sind die Projekte so umgesetzt, dass beim Speichern einer Seite der Onlinestatus immer direkt auf online gesetzt wird. Dabei sieht der öffentliche Benutzer die Auswahl für den Status nicht.
- Was passiert mit Verlinkungen zu offline gesetzten Seiten bei der Seitengenerierung?
- Über eine PHP Framework-Funktion kann zum Projekt eingestellt werden, dass Links zu offline gesetzten Seiten automatisch bei der Seitengenerierung entfernt werden. So werden beim Generieren keine Links auf offline Inhalte ausgegeben (je nach Konfiguration).
- Kann die Funktion zum Entfernen von Links auf offline Seiten vorkonfiguriert sein?
- Ja. Die aktuelle Basis ist dem Text nach bereits im Standard so vorbereitet, dass eine auskommentierte Zeile in der pre.php der BASE einfach aktiviert werden kann, um das Entfernen der Links für offline gesetzte Seiten zu nutzen.