Produkteigenschaften in Listenansicht darstellen

Hello, hab ein kleines Problem bei der Erweiterung der Produktliste (templates/THEME/listing/box_article.tpl). Ich würde gerne zusätzlich die Eigenschaften des Produktes noch ausgeben. Hierfür habe ich mir aus den Bereich “detail/description.tpl” den entsprechenden Smarty Bereich kopiert und eingefügt. {foreach from=$sArticle.sProperties item=sProperty} {$sProperty.name} {$sProperty.value} {/foreach} Allerdings erfolgt hier keine Ausgabe, weil in box_article.php das Objekt $sArticle keine sProperties beinhaltet. Wie kann ich das Objekt auch in der Listenansicht an Smarty übergeben? Ich fand folgenden Artikel: http://wiki.shopware.de/Koennen-die-def … l_194.html Allerdings gibt es ja keine Hookpoints mehr in Shopware4. Hat jemand eine Idee?

Hallo torstenwolter, solch eine Frage gehört ja eigentlich eher zum Thema „Programmierung“. Ohne eine Pluginlösung kommt man um besagtes Problem nicht drumherum. Das array sArticle im Artikellisting muss um das entsprechende Array „sProperties“ erweitert werden. Ich habe einmal eine kurze Lösung geschrieben. Vom Grundaufbau kommt sie den Hookpoint eigentlich sehr nahe. [code]<?php class Shopware_Plugins_Frontend_TestPlugin_Bootstrap extends Shopware_Components_Plugin_Bootstrap
{

public function install()
{
	$this->subscribeEvent( 'Shopware\_Modules\_Articles\_sGetArticlesByCategory\_FilterLoopEnd', 'onPostDispatchListing' ); return true; } public function onPostDispatchListing(Enlight\_Event\_EventArgs $args) { $sArticles = $args-\>getSubject(); $article = $args-\>getReturn(); $filtergroupid = Shopware()-\>Db()-\>fetchOne("SELECT a.filtergroupID FROM s\_articles a WHERE a.id = ?",array($article['articleID'])); if (!empty($filtergroupid)) $article['sProperties'] = $sArticles-\>sGetArticleProperties($article['articleID'], $filtergroupid); return $article; } }[/code] Die entsprechenden Informationen aus "sProperties" lassen sich dann in der foreach Schelife in der Datei box\_article.tpl auslesen. Ich hoffe, ich konnte Ihnen weiterhelfen.
1 „Gefällt mir“

Super vielen Dank so funktioniert es super. Hatte davor das gleiche mit Hookprints wie in der alten Version versucht. Damit hatte ich allerdings kein Erfolg. :slight_smile:

@beongmbh: Könntest Du vielleicht noch kurz erläutern, an welche Stelle der PHP-Aufruf platziert werden muss? Ich bin bisher noch nicht in die Programmiert-Tiefen von Shopware vorgedrungen und würde trotzdem gerne die Artikel-Eigenschaften im Listing aufführen. Im Idealfall würde das auch in den Artikeln funktionieren, die man über die Einkaufswelten anzeigen lassen kann (component_article.tpl). Danke! Gruß Hendrik

Das Thema ist zwar alt, hat mir aber sehr geholfen, weil ich die Eigenschaften auch in der Kategorie-Ansicht benötige. Um es ans Laufen zu bekommen legt man unter engine/Shopware/Plugins/Community/Frontend/ den Ordner „EigenschaftenInKategorie“ an und platziert darin eine Bootstrap.php mit folgendem Inhalt: [code]<?php class Shopware_Plugins_Frontend_EigenschaftenInKategorie_Bootstrap extends Shopware_Components_Plugin_Bootstrap
{

public function getVersion()
{
return ‚1.0.0‘;
}

public function getLabel()
{
    return "Eigenschaften auch in Kategorie verfügbar machen";
}


public function getInfo()
{
    return array(
        'version' => $this-\>getVersion(), 'label' =\> $this-\>getLabel(), 'link' =\> 'http://forum.shopware.com/topic11080.html' ); } public function install() { $this-\>subscribeEvent( 'Shopware\_Modules\_Articles\_sGetArticlesByCategory\_FilterLoopEnd', 'onPostDispatchListing' ); return true; } public function onPostDispatchListing(Enlight\_Event\_EventArgs $args) { $sArticles = $args-\>getSubject(); $article = $args-\>getReturn(); $filtergroupid = Shopware()-\>Db()-\>fetchOne("SELECT a.filtergroupID FROM s\_articles a WHERE a.id = ?",array($article['articleID'])); if (!empty($filtergroupid)) $article['sProperties'] = $sArticles-\>sGetArticleProperties($article['articleID'], $filtergroupid); return $article; } }[/code] Über den Plugin-Manager installieren & aktivieren, fertig.
2 „Gefällt mir“

Hallo,

Das Plugin funktioniert super! Vielen Dank für die Arbeit und das Veröffentlichen.

Gerne werde ich die Eigenschaften auch unter den Top Seller, und den Tabs wie ‚‚Kunden Kauften auch‘‘, ‚‚Ähnliche Artikel‘‘ etc ausgeben. Weiß jemand wir man das obige Plugin dahingehend anpassen muss ?

Keiner einen Tipp ?

Keiner der hier helfen kann ?

Push!

Hi 

Habs nicht getestet, aber vielleicht geht es mit diesem Plugin: https://forum.shopware.com/discussion/37027/option-einer-eigenschaft-bei-einem-artikel-im-kategorie-listing#latest

Super. Besten dank dennoch für die Info. Werde mir die Sache einmal anschauen.