Ü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}:
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: |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |