Randshop Template, welche Variablen sind verfügbar?

Oder wie kann ich im randshop-template bestimmte Inhalte anzeigen?

Immer wieder tauchen im randshop-Forum Fragen auf, die ähnlich lauten wie: Wie kann ich den Namen des Lieferstatus beim Artikel anzeigen lassen?
Dass Sie die Tipps zum Anpassen der randshop templates kennen, setze ich jetzt mal voraus.
Es stellt sich also die Frage, in welcher Variablen ist die gewünschte Information enthalten? Vorhanden sein muss sie ja, sonst könnte sie auf der Seite ja nicht angezeigt werden.
Im genannten Beispiel ist der Lieferstatusname als title im Lieferstatusbild schon enthalten. Nur ist das innerhalb des templates (hier das template /website/artikel/artikeldetail.tpl) schon komplett im imagestring enthalten.

Sieht man sich das template etwas genauer an, wird man feststellen, dass viele Informationen, die im template den Artikel beschreiben, in der Variablen $ArtikelObject stecken müssen.
Das herauszubekommen setzt Suchen voraus. So kann man über die Suche nach $statusAnzeige als Ergebnis in der themes/kategorie/detail.php eine Stelle finden, die mit $statusAnzeige = "<a href=\"" ...  beginnt.

Hieraus ist erkennbar, dass aus der Variablen $tpl_lieferstatus_imagestring der Link zum Bild zusammengebaut wird.

Stellt sich die Frage, wo nun diese Variable gefüllt wird. Sucht man also weiter, stößt man auf die Stelle $tpl_lieferstatus_imagestring = $ArtikelObject->lieferstatus_imagestring;  in themes/kategorie/detail.php.
Hier ist jetzt der Punkt erreicht an dem wir uns die Variable $ArtikelObject im template mal anzeigen lassen sollten.

Und tatsächlich, hier findet sich dann auch der gesuchte Lieferstatusname als Inhalt einer Variablen.

!! Warnung !!

Achtung: Der folgende Tipp sollte nur auf Testsystemen angewandt werden!

Auf im Internet zugänglichen Systemen könnten damit Angreifer Informationen erhalten, die sie nicht erhalten sollten.

Im template Variableninhalte per php anzeigen lassen

PHP ist eine recht gut verwendbare Programmiersprache und bietet viele Funktionen die dem Programmierer sehr  nützlich sein können. Dazu gehört auch die Funktion print_r()

Setzt man ans Ende des oben genannten templates die folgenden Zeilen, dann erhält man auf der Artikeldetailseite alle Eigenschaften angezeigt, die in $ArtikelObject enthalten sind.

<pre>
    <?php echo print_r($ArtikelObject);?>
</pre>

Ruft man nun im randshop eine Artikeldetailseite auf, so findet sich nach dem Artikel eine lange Liste mit Daten.

Ausschnitt aus der Liste der Variablen
Ausschnitt aus der Liste der Variablen, hier findet sich auch der Lieferstatusname

Die Variable $ArtikelObject->lieferstatus_name kann nun im template an beliebiger Stelle verwendet werden:

<?php echo $ArtikelObject->lieferstatus_name ;?>

 

Wie oben schon angedeutet, sollte die Anpassung von Templates nur dann angegangen werden, wenn schon PHP und HTML Kenntnisse vorhanden sind. Nicht nur, dass die Gefahr besteht, dass nach der template Bearbeitung im Shop nur eine weiße Seite angezeigt wird, es besteht auch das Risiko, dass Sicherheitslücken eingebaut werden.

Kommentar abgeben: