Hallo,
jedes Produkt erhält Attribute wie Farbe, Form usw.
In der Produkt-Detailansicht möchte ich diese Attribute ausgeben. Im Template ist dies auch vorgesehen, doch das entspricht nicht ganz unseren Vorstellungen.
Wie bekommen wir das hin, dass die Merkmale gruppiert, so wie sie angelegt sind, ausgegeben werden?
Momentan wird dies ja so ausgegeben: Farbe: Merkmal, Farbe: Merkmal 2, Form: Merkmal, ...
So stellen wir uns das aber vor - zur Veranschaulichung:
<Gruppe>
Farbe:
Merkmal 1
Merkmal 2
Merkmal 3
</Gruppe>
<Gruppe>
Form:
Merkmal 1
Merkmal 2
Merkmal 3
</Gruppe>
Vielen Dank schonmal!
Ausgabe von Merkmalen
- supportteam
- Beiträge: 245
- Registriert: 28. Aug 2013, 17:58
Re: Ausgabe von Merkmalen
Hallo,
wenn ein Produkt mehrere Ausprägungen desselben Merkmals zugewiesen hat, ist die standardmäßige Merkmal-Ausgabe, die als String in der Produkteigenschaft "$this->objProduct->_attributesAsString" vorliegt, nicht ideal, da die Merkmalsbezeichnung in diesem Fall mehrfach ausgegeben wird.
Die Produkteigenschaft "$this->objProduct->_attributes" enthält zu diesem Zweck ein Array, aus dem sich jede beliebige Ausgabe individuell erzeugen lässt.
Der Aufbau des mehrdimensionalen Arrays sieht folgendermaßen aus:
Übereinstimmende Merkmale liegen hier bereits gruppiert vor, sodass sich Ihr gewünschtes Ergebnis damit z. B. folgendermaßen erreichen lässt:
Das Code-Beispiel erzeugt die folgende Ausgabe:
<div class="group">
<h2>Farbe</h2>
<p>Rot</p>
<p>Grün</p>
<p>Blau</p>
</div>
<div class="group">
<h2>Form</h2>
<p>Rund</p>
<p>Eckig</p>
</div>
wenn ein Produkt mehrere Ausprägungen desselben Merkmals zugewiesen hat, ist die standardmäßige Merkmal-Ausgabe, die als String in der Produkteigenschaft "$this->objProduct->_attributesAsString" vorliegt, nicht ideal, da die Merkmalsbezeichnung in diesem Fall mehrfach ausgegeben wird.
Die Produkteigenschaft "$this->objProduct->_attributes" enthält zu diesem Zweck ein Array, aus dem sich jede beliebige Ausgabe individuell erzeugen lässt.
Der Aufbau des mehrdimensionalen Arrays sieht folgendermaßen aus:
Code: Alles auswählen
Array
(
[25] => Array
(
[0] => Array
(
[attributeID] => 25
[attributeTitle] => Farbe
[valueID] => 39
[valueTitle] => Rot
)
[1] => Array
(
[attributeID] => 25
[attributeTitle] => Farbe
[valueID] => 40
[valueTitle] => Grün
)
[2] => Array
(
[attributeID] => 25
[attributeTitle] => Farbe
[valueID] => 41
[valueTitle] => Blau
)
)
[26] => Array
(
[0] => Array
(
[attributeID] => 26
[attributeTitle] => Form
[valueID] => 42
[valueTitle] => Rund
)
[1] => Array
(
[attributeID] => 26
[attributeTitle] => Form
[valueID] => 43
[valueTitle] => Eckig
)
)
)
Code: Alles auswählen
<?php
foreach ($this->objProduct->_attributes as $arr_attributeValues) {
?>
<div class="group">
<?php
foreach ($arr_attributeValues as $k => $arr_attributeValue) {
if ($k === 0) {
?>
<h2><?php echo $arr_attributeValue['attributeTitle']; ?></h2>
<?php
}
?>
<p><?php echo $arr_attributeValue['valueTitle']; ?></p>
<?php
}
?>
</div>
<?php
}
?>
<div class="group">
<h2>Farbe</h2>
<p>Rot</p>
<p>Grün</p>
<p>Blau</p>
</div>
<div class="group">
<h2>Form</h2>
<p>Rund</p>
<p>Eckig</p>
</div>
Ihr MERCONIS-Supportteam
Your MERCONIS Support Team
Your MERCONIS Support Team
Re: Ausgabe von Merkmalen
Hallo,
vielen Dank! Genauso habe ich es mir vorgestellt
LG
vielen Dank! Genauso habe ich es mir vorgestellt

LG