Weitere Informationen zum Relaunch von Rostock.de
Weitere Informationen zum Relaunch von Rostock.de Weiter zu rostock.de

Hinweis zur Bestellung
Haben Sie Fragen zur Bestellung im Online-Shop? In den "Hilfen für die Bestellung" werden Ihre Fragen beantwortet. Auch der Support hilft Ihnen gerne weiter (Kontaktformular).


Landesverkehrswacht Mecklenburg-Vorpommern setzt auf Contentpapst

Freie Auflistung von Attributen in den Vorlagen

Über die sogenannten Artikelklassen bietet der CP::Shop die Möglichkeit, beliebige weitere Angaben zu Artikeln zu hinterlassen, die in einer Gruppe zusammengefasst werden können. Z.B. können über eine Artikelklasse "Weine" zusätzliche Angaben zur Anbauregion, zum Jahrgang oder zur Rebsorte gemacht werden. Standardmäßig werden diese Angaben dann in einer tabellarischen Form dargestellt - ...doch es geht auch anders.

Dieser Artikel beschreibt, wie durch eine kleine Anpassung die zusätzlichen Angaben eines Artikels innerhalb der Vorlagen freier positioniert und gestaltet werden können, um so unabhängig von der bisherigen tabellarischen Auflistung ein individuelleres Erscheinungsbild zu realisieren.

Notwendig ist dazu eine Anpassung der Datei "/modules/shop/show_article.php", in welcher die Vorlagen für die Darstellung der Artikel verarbeitet werden. Hier ist folgende Ersetzung vorzunehmen

if ($row_2["value"]) {
     $attribute_string .= "<div class=\"shop_attribute\"><div class=\"shop_attribute_title\">".$row_2["title"].":</div> <div class=\"shop_attribute_value\">".$row_2["value"]."</div></div> ";
}

wird jetzt ersetzt (bzw. erweitert) durch:

if ($row_2["value"]) {
    $attribute_string .= "<div class=\"shop_attribute\"><div class=\"shop_attribute_title\">".$row_2["title"].":</div> <div class=\"shop_attribute_value\">".$row_2["value"]."</div></div> ";
}

$count_attributes++;
$content = cp_template_replace($content, "cp:shop:item:attributes:".$count_attributes, $row_2["value"]);

Eine weitere Ergänzung ist ein ca. in Zeile 120 notwendig. Hier wird

$attribute_string = "";

ersetzt (bzw. erweitert) durch:

$attribute_string = "";
$count_attributes = "0";

Damit ist die Änderung im PHP-Quellcode bereits abgeschlossen. Innerhalb der zur Darstellung der Artikel verwendeten Vorlagen (z.B. der Vorlage "details.html") können jetzt die {cp:tags} im Format "{cp:shop:item:attributes:*}" verwendet werden, um die einzelnen Angaben separat voneinander zu positionieren.

Statt "*" ist dabei die Position des Attributs innerhalb der Artikelklasse zu verwenden. Bei der in den Screenshots am Anfang des Artikels gezeigten Artikelklasse wären dies z.B. die folgenden {cp:tags}:

  • {cp:shop:item:attributes:1} für "Erscheinungsdatum"
  • {cp:shop:item:attributes:2} für "USK Einstufung"
  • {cp:shop:item:attributes:3} für "System"
  • usw.

Mit dieser kleinen Änderung am PHP-Quellcode und der Möglichkeit, für die Artikel im Shop unterschiedliche Vorlagen zur Darstellung der Detailseite verwenden zu können, erschließen sich so eine Vielzahl an neuen Möglichkeiten zur Gestaltung dieser Vorlagen.

Bitte geben Sie eine Bewertung ab: nicht lesenswert  -2 -1 0 +1 +2  lesenswert


Weitere Artikel in der Knowledge Base: