Sucht für ein Element des Artikelbaums alle Templates zu einem „Source“-Template für eine bestimmte Sprache heraus. Wird kein Template zum angegebenen „Source“-Template gefunden, wird versucht, Templates zum Default-Source-Template (das die ID „0“ hat) zu ermitteln.
Optional können nur die Templates gesucht werden, die in einem bestimmten Bereich, sprich „Frame“ geladen werden sollen (typisch für Web-Applikationen).
Alternativ können auch die Templates zu einer „NodeID“ (ID eines Artikel-Elementes) oder zu einer Artikelnummer (d.h. einer Eigenschaft zum Merkmal mit der „NodeCharacteristicID“ „6“) ermittelt werden. Da es zu einer „NodeID“/Artikelnummer prinzipiell MEHRERE „TreeNodeID“s geben kann, wird die kleinste, aktive ID eines Elementes des Artikelbaums gewählt, die zur „NodeID“ korrespondiert bzw. die die angegebene Artikelnummer als Eigenschaft besitzt.
Sollte es für das Element keine direkt zugewiesenen Templates geben, werden die Templates des „Erblassers“ („InheritsFrom“-Spalte in der Tabelle „TreeView“) ermittelt. Sollte dieser auch keine Templates zugewiesen haben, versucht es die Prozedur beim nächsten „Erblasser“-Element usw. Im Gegensatz zum Vererbungs-Prinzip bei Eigenschaften bricht dieser Prozeß aber ab, sobald mindestens EIN Template gefunden wurde !
Hinweis:
Allgemein wird im „dStore“ unter einem Template einfach eine Datei verstanden, die (in was für einer Programmier-Sprache auch immer) Anweisungen (für die Client-Applikation) enthält, was für Informationen (zu einem „Element“) dargestellt werden sollen und wie das Layout aussehen soll (wie z.B. eine Produktansicht).
Die Datei wird immer in einem Fenster („Frame“) und zu einem „Source-Template“ geladen. Mit Source-Template ist eine Art „Kontext“ gemeint, unter der ein „Element“ angezeigt wird. Z.B. soll die Produktansicht eines Artikel-Elementes in einem Suchergebnis anders sein als in der „Normalansicht“.
Derzeit kommen „Templates“ nur im „Item Management“, genauer für „TreeNodeID“s (Elemente des Artikelbaums), zum Einsatz, allerdings ist das Konzept der Templates nicht von vornherein darauf beschränkt, sondern kann evtl. in zukünftigen „dStore“-Versionen auch noch in anderen Modulen zum Einsatz kommen.
HTTP-Method | GET |
HTTP-Auth | Optional |
Tags | |
Engine-Kategorie | item management |
Engine-Typ | Daten-Ermittlung |
Letzte Aktualisierung | 5.1.1 (2006-04-05) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
Parameter | Element, zu dem die zugewiesenen Templates ermittelt werden sollen. Enthält je nach „Type“ entweder die ID eines Artikelelementes („NodeID“) oder eines Elementes des Artikelbaums („TreeNodeID“) oder eine Artikelnummer. | varchar(100) | 3.5.0 | |
Type | 'TreeNodeID' | Gibt an, was in „Parameter“ enthalten ist. 'TreeNodeID' : ID eines Elementes des Artikelbaums 'NodeID' : ID eines Artikelelementes 'Artikelnummer' / 'ItemNo' : Eine Eigenschaft zum Merkmal mit der „NodeCharacteristicID“ „6“ | varchar(20) | 3.5.0 |
LanguageID | NULL | ID einer Sprache, die das Template unterstützen soll | tinyint | 3.5.0 |
SourceTemplateID | 0 | ID eines „SourceTemplates“. Damit ist eine Art „Kontext“ gemeint, unter dem das Artikelelement angezeigt wird; z.B. soll die Produktansicht aus einem Suchergebnis heraus anders sein als in der „Normalansicht“. | smallint | 3.5.0 |
FrameName | NULL | Optionale Einschränkung der Ausgabemenge auf Templates, die nur in einem bestimmten Bereich, sprich „Frame“, geladen werden sollen (z.B. in Web-Anwendungen relevant) | varchar(100) | 3.5.0 |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
TemplateID | ID des gefundenen Templates | integer | 3.5.0 |
Description | Bezeichnung des gefundenen Templates | varchar(100) | 3.5.0 |
LanguageID | ID der Sprache, für die das Template gilt | integer | 3.5.0 |
FrameName | Bezeichnung des „Frames“ (oder auch : des „Fensters“), in der das Template geladen wird (also eine Einstellung, die eher an Web-Applikationen gedacht ist) | varchar(30) | 3.5.0 |
FileName | Dateiname des Templates (in dem quasi der Source-Code des Templates gespeichert ist) | varchar(100) | 3.5.0 |
IsRealTimeTemplate | Falls diese Spalte den Wert „1“ enthält, kann das Ergebnis der Ausführung des Templates NICHT ge„cache“t werden, d.h. alle verwendeten Prozeduraufrufe MÜSSEN bei jedem erneuten Laden des Templates ausgeführt werden. | bit | 3.5.0 |
TreeNodeID | Die ID des Elementes des Artikelbaums, das zum Wert in „Parameter“ korrespondiert, zu dem also die Templates ermittelt wurden. (Falls „Type = 'TreeNodeID' steht hier natürlich das gleiche wie in „Parameter“ !) | integer | 3.5.0 |
NodeID | ID des zur „TreeNodeID“ korrespondierenden Artikel-Elementes | integer | 3.5.6 |
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 5) |
---|---|---|
-621 | Fehlender oder falscher Eintrag in PersonTypeSettings | nur indirekt |
-550 | Fehlender oder falscher Eintrag in Settings | nur indirekt |
-500 | Falsche Parameter | nur direkt |
Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.
5.1.1 | 2006-04-05 | 1. Optimierung des Zugriffs auf „NodeProperties“ (bedingt durch die Änderung dieser Tabelle in 5.1.0) 2. Konsequente Fehlerbehandlung |
4.0.1 | 2003-05-16 | Ab jetzt wird berücksichtigt, daß in „NodeProperties“ auch Gültigkeitszeiträume in der Zukunft vorhanden sein können ! |
3.5.18 | 2002-05-15 | |
3.5.6 | 2001-04-17 | |
3.5.4 | 2001-03-11 | |
3.5.0 | 2000-11-23 | Erstmalig in dieser Version erstellt |
Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist:
Unformatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/im_GetTemplates_Pu?Parameter=<value>'
Mit xmllint 6) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/im_GetTemplates_Pu?Parameter=<value>' | xmllint --format -
use dStore_php\WebService; $service = new WebService\Service( WebService\Scheme::HTTP,'<partner>-<project>.dstore.de', 80); $request = new WebService\Requests\Engine\Procedure\Request( new WebService\Requests\AccessData('default'), 'im_GetTemplates_Pu', array( 'Parameter' => '<value>', // 'Type' => 'TreeNodeID', // 'LanguageID' => NULL, // 'SourceTemplateID' => 0, // 'FrameName' => NULL ) ); $service->execute($request); $xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument(); $ResultSet = $xml_result->getRowsAsArray();
XML zur Ausführung mit der Methode engine/execute, z.B. per
curl --header 'Content-Type: application/xml' -X POST 'http://<partner>-<kunde>.dstore.de/default/engine/execute' -d '<xml-daten>'
<?xml version="1.0" encoding="UTF-8"?> <ListOfBatches> <Batch No="0"> <Procedure Name="im_GetTemplates_Pu"> <Parameters> <Parameter Name="Parameter"><!-- varchar value --></Parameter> <!-- <Parameter Name="Type">'TreeNodeID'</Parameter> --> <!-- <Parameter Name="LanguageID">NULL</Parameter> --> <!-- <Parameter Name="SourceTemplateID">0</Parameter> --> <!-- <Parameter Name="FrameName">NULL</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>