ProcessWire - Page Object: Unterschied zwischen den Versionen
Aus Wikizone
Steff (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== Einführung == Das Page Objekt enthält alle Daten einer Seite. Normalerweise kann man bei der Arbeit mit Templates direkt $page schreiben um auf die aktu…“) |
Steff (Diskussion | Beiträge) |
||
| Zeile 13: | Zeile 13: | ||
| − | == Seiten modifizieren == | + | == Seiten modifizieren oder erstellen == |
| + | Wenn die Seite noch nicht vorhanden ist wird sie mit save() automatisch erstellt. Wenn Sie existiert upgedatet. | ||
| + | |||
| + | Man kann auch nur ein spezifisches Feld einer Seite speichern. | ||
<pre> | <pre> | ||
// Modify a page and save it | // Modify a page and save it | ||
| Zeile 20: | Zeile 23: | ||
$p->title = "Decatur Beer Festival"; | $p->title = "Decatur Beer Festival"; | ||
$p->summary = "Come and enjoy fine beer and good company at the Decatur Beer Festival."; | $p->summary = "Come and enjoy fine beer and good company at the Decatur Beer Festival."; | ||
| − | $pages->save($p); | + | $pages->save($p); // Same as $p->save(); |
</pre> | </pre> | ||
| + | |||
| + | $page->save($fieldName); // save a specific Field | ||
| + | |||
== Neue Seiten erzeugen == | == Neue Seiten erzeugen == | ||
<pre> | <pre> | ||
Version vom 2. Februar 2019, 18:41 Uhr
Einführung
Das Page Objekt enthält alle Daten einer Seite. Normalerweise kann man bei der Arbeit mit Templates direkt
$page
schreiben um auf die aktuelle Seite zuzugreifen. Wenn man das Feld einer aktuellen Seite abrufen möchte kann man das dann z.B. so machen echo $page->title
Selektoren und Seiten
Über einen Selektor kann man schnell Seiten abfragen (siehe Processwire - Selectors)
Wenn $page für die aktuelle Seite nicht zur Verfügung steht (z.B. in Modulen) kann man sich über das wire Objekt die aktuelle Seite eines Nutzers holen:
$page = wire("page");
$t = $page->title;
Seiten modifizieren oder erstellen
Wenn die Seite noch nicht vorhanden ist wird sie mit save() automatisch erstellt. Wenn Sie existiert upgedatet.
Man kann auch nur ein spezifisches Feld einer Seite speichern.
// Modify a page and save it
$p = $pages->get('/festivals/decatur/beer/');
$p->of(false); // turn off output formatting, if it's on
$p->title = "Decatur Beer Festival";
$p->summary = "Come and enjoy fine beer and good company at the Decatur Beer Festival.";
$pages->save($p); // Same as $p->save();
$page->save($fieldName); // save a specific Field
Neue Seiten erzeugen
$fields = array('title', 'vorname', 'plz', [...]);
$values = array("Mein Titel","Max","D72810");
// fill fieldnames i.e. from database query...
list($oe_id, $oe_nl_name, $oe_plz, [...]) = $row;
$p = new Page();
$p->template = "templatename";
$p->parent = $parentId;// Elternseite
$p->title = "Titel der Seite";
$p->of(false);
if(!$p->save()) echo "Seite konnte nicht gespeichert werden";
// populate fields
$p->vorname = "Max";
$p->[feldname] = "Inhalt des Feldes";
$p->save();