ProcessWire - Page Object: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
(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…“)
 
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();