Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:im_gettemplates_ad

im_GetTemplates_Ad

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-MethodGET
HTTP-AuthOptional
Tags
Engine-Kategorieitem management
Engine-TypDaten-Ermittlung
Letzte Aktualisierung7.0.7 (2015-01-29)

Parameter

Name 1) Standard-Wert Beschreibung 2) SQL-Datentyp3) ab Version
TreeNodeID ID eines Elementes im Artikelbaum, zu dem ein Template gesucht werden soll
integer3.5.0
LanguageIDNULL ID einer Sprache, die das Template unterstützen soll
tinyint3.5.0
SourceTemplateID0 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“.
smallint3.5.0
DateAndTimeNULL IST DERZEIT NICHT IMPLEMENTIERT !
datetime3.5.0

Rückgabe

(parameterunabhängig)

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
LanguageIDID der Sprache, für die das Template gilt
tinyint3.5.0
FrameNameBezeichnung 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
DescriptionBezeichnung des gefundenen Templates
varchar(100)3.5.0
InheritedIst das Template dem Element „TreeNodeID“ direkt zugeordnet oder wurde das Template „geerbt“ ?
bit3.5.0
TemplateIDID des gefundenen Templates
integer3.5.0
Sortierung der Rückgabe

(parameterunabängige Sortierung)

  • Language (aufsteigend)
  • FrameName (aufsteigend)

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 6)
-621Fehlender oder falscher Eintrag in PersonTypeSettingsnur indirekt
-569Der Benutzer hat kein Ausführungsrecht für die Prozedurnur indirekt
-567Die Prozedur darf z. Zt. nicht ausgeführt werdennur indirekt
-566Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werdennur indirekt
-550Fehlender oder falscher Eintrag in Settingsdirekt und indirekt
-535Das Datum liegt nicht in der Vergangenheitnur indirekt
-530Der Wert ist nicht konvertierbarnur indirekt
-510Der Benutzer ist nicht registriertnur indirekt
-504Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochennur indirekt
-500Falsche Parameternur indirekt

XML-Schema

Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.

Historie

7.0.7 2015-01-29Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf]
5.1.4 2006-08-14Explizites „ORDER BY“ eingefügt, um die Sortierung der Rückgabemenge zu garantieren
4.0.11 2004-03-311. 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-16Fehlerkorrektur : In einem Fall war die „Inherited“-Spalte nicht bezeichnet
3.5.0 2000-11-23Erstmalig in dieser Version erstellt

Code-Snippets

Engine Playground

Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist:

cURL

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 -
dStore_php
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();
engine/execute

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>
1)
Pflichtparameter sind unterstrichen
5)
Spalte wird nicht zurückgegeben und ist hier nur aus Dokumentationsgründen aufgeführt.
6)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
7)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org
engine/procedures/im_gettemplates_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)