wDocumentData::setData

Setzt Daten eines Dokumentes

Funktionsaufruf

Boolean setData(String document, String data, String value, Array options = array())

Parameter

document
Pfad zum Dokument
data
wPath-Ausdruck, dessen Wert gesetzt werden soll
value
Zu setzender Wert
options
Zusatzoptionen
typeIfNotExists
Typ eines noch nicht existierenden Elementes
mode [|innerXML]
Falls der Inhalt als XML-String gesetzt werden soll

Setzt den Gültigkeitszeitraum für den Cache in das angegebene Dokument

Beispiel:

Quelltext

<?php

$fileSetData
= "/de/datei.php";
wDocumentData::setData($fileSetData, "/wd:extension/wd:cache/@expires", 3600);

?>

Setzt diverse Daten in das angegebene Dokument

Beispiel:

Quelltext

<?php

$fileSetData
= "/de/datei.php";
print
wDocumentData::setData($fileSetData, 'title', time())."<br/>";
print
wDocumentData::setData($fileSetData, 'navpointId', time())."<br/>";
print
wDocumentData::setData($fileSetData, '/wd:extension/wd:meta/wd:keywords', time())."<br/>";
print
wDocumentData::setData($fileSetData, "/wd:extension/wd:object/wd:data[@id = 'title']", time())."<br/>";
print
wDocumentData::setData($fileSetData, "/wd:extension/wd:object/wd:data[@id = '".time()."x']", time(), array('typeIfNotExists' => ''))."<br/>";
print
wDocumentData::setData($fileSetData, "/wd:extension/wd:object/wd:data[@id = '".time()."_pic']", '/'.time().'.gif', array('typeIfNotExists' => 'src.picture'))."<br/>";
print
wDocumentData::setData($fileSetData, "/wd:extension/wd:object/wd:data[@id = '".time()."']", time(), array('typeIfNotExists' => 'text.default'))."<br/>";
print
wDocumentData::setData($fileSetData, "/wd:document/wd:group/wd:item[@id = 'headline']/wd:fragment[@id = 'text']", "Überschrift")."<br/>";

?>

Setzt die SortierungsID (orderID) in das angegebene Dokument

Beispiel:

Quelltext

<?php

$fileSetData
= "/de/datei.php";
print
wDocumentData::setData($fileSetData, "/wd:extension/wd:object/wd:data[@id='orderID']/text()", "0001", array('typeIfNotExists' => 'char.text'));

// Folgendes funktioniert hingegen nicht (doppelte/einfache Hochkommatas im wPath):
//print wDocumentData::setData($fileSetData, '/wd:extension/wd:object/wd:data[@id="orderID"]/text()', "0001", array('typeIfNotExists' => 'char.text'));

?>

Setzt zur Ansprechpartner Datei den Titel auf: Nachname Vorname

Beispiel:

Quelltext

<?php

$documents
= wRepository::getDocumentsDir('/de/ansprechpartner/personen');

foreach(
$documents as $document){
$dataPerson = wDocumentData::getDataObject($document, "surname").' '.wDocumentData::getDataObject($document, "firstname");
wDocumentData::setData($document, 'title', $dataPerson);
}

?>

Beispiel: Setzt die SortierungsID (orderID) in das angegebene Dokument

Quelltext

<?php

$fileSetData
= "/de/datei.php";
print
wDocumentData::setData($fileSetData, "/wd:extension/wd:object/wd:data[@id='orderID']/text()", "0001", array('typeIfNotExists' => 'char.text'));

// Folgendes funktioniert hingegen nicht (doppelte/einfache Hochkommatas im wPath):
//print wDocumentData::setData($fileSetData, '/wd:extension/wd:object/wd:data[@id="orderID"]/text()', "0001", array('typeIfNotExists' => 'char.text'));

?>

Als wPath können bestimmte Knoten innerhalb wd:meta direkt mit dem Namen angesprochen werden (z.B. title (für wd:title)). Ansonsten geben Sie den Pfad zum XML-Knoten in vollständiger Schreibweise beginnend mit /wd:extension/... an.

Wichtige Grundregel hierzu:

  • Um auf Daten innerhalb der wd:extension zuzugreifen, muss der xpath mit /wd:extension beginnen.
  • Um auf sonstige Daten innerhalb des Dokumentes zuzugreifen, muss der xpath mit /wd:document beginnen.

Hinweis
Beim Einsatz von Framework-Funktionen in eigenen Skripten beachten Sie bitte den Artikel "So verwenden Sie das PHP-Framework in eigenen Scripten".
Wenn Sie eine Funktion innerhalb einer Weblication® Seite z.B. über das PHP-Quelltext Element oder in einem XSL-Template über wsl:php einbinden, muss das Framework über die grid.php nicht mehr referenziert werden.