Sucht für ein Element des Artikelbaums alle Templates (zu einem „Source“-Template) für eine bestimmte Sprache heraus.
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 | 7.0.7 (2015-01-29) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
TreeNodeID | ID eines Elementes im Artikelbaum, zu dem ein Template gesucht werden soll | integer | 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 |
DateAndTime | NULL | IST DERZEIT NICHT IMPLEMENTIERT ! | datetime | 3.5.0 |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
Language5) | Wird nur zur Sortierung verwendet und nicht ausgegeben. Sprache, für die das Template gilt. | varchar(50) | 3.5.0 |
LanguageID | ID der Sprache, für die das Template gilt | tinyint | 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 |
Description | Bezeichnung des gefundenen Templates | varchar(100) | 3.5.0 |
Inherited | Ist das Template dem Element „TreeNodeID“ direkt zugeordnet oder wurde das Template „geerbt“ ? | bit | 3.5.0 |
TemplateID | ID des gefundenen Templates | integer | 3.5.0 |
(parameterunabängige Sortierung)
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 6) |
---|---|---|
-621 | Fehlender oder falscher Eintrag in PersonTypeSettings | nur indirekt |
-569 | Der Benutzer hat kein Ausführungsrecht für die Prozedur | nur indirekt |
-567 | Die Prozedur darf z. Zt. nicht ausgeführt werden | nur indirekt |
-566 | Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werden | nur indirekt |
-550 | Fehlender oder falscher Eintrag in Settings | direkt und indirekt |
-535 | Das Datum liegt nicht in der Vergangenheit | nur indirekt |
-530 | Der Wert ist nicht konvertierbar | nur indirekt |
-510 | Der Benutzer ist nicht registriert | nur indirekt |
-504 | Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochen | nur indirekt |
-500 | Falsche Parameter | nur indirekt |
Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.
7.0.7 | 2015-01-29 | Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf] |
5.1.4 | 2006-08-14 | Explizites „ORDER BY“ eingefügt, um die Sortierung der Rückgabemenge zu garantieren |
4.0.11 | 2004-03-31 | 1. Aufruf der Prozeduren „_mi_StartProcedure“ und „_mi_FinishProcedure“ 2. Ausführen von „set transaction isolation level 1“ und „set rowcount 0“ zu Beginn der Prozedur 3. Konsequente Fehlerbehandlung |
4.0.7 | 2004-01-16 | Fehlerkorrektur : In einem Fall war die „Inherited“-Spalte nicht bezeichnet |
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_Ad?TreeNodeID=<value>'
Mit xmllint 7) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/im_GetTemplates_Ad?TreeNodeID=<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_Ad', array( 'TreeNodeID' => <value>, // 'LanguageID' => NULL, // 'SourceTemplateID' => 0, // 'DateAndTime' => 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_Ad"> <Parameters> <Parameter Name="TreeNodeID"><!-- integer value --></Parameter> <!-- <Parameter Name="LanguageID">NULL</Parameter> --> <!-- <Parameter Name="SourceTemplateID">0</Parameter> --> <!-- <Parameter Name="DateAndTime">NULL</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>