Hi Leute
Ich möchte gerne die Artikeleigenschaften (sProperties) beim Product-Stream anzeigen lassen.
Mein Product-Stream wird in der Detailseite unterhalb des Produktes als Tab – was ja Standard ist – angezeigt. Nun habe ich herausgefunden, dass die Artikel im Product-Stream über box-basic.tpl, so wie es auch beim Listing gemacht wird, angezeigt werden. Da ich die Artikeleigenschaften (sProperties) auch im Listing angezeigt haben möchte, habe ich es da mit einem Plugin (siehe unten) erfolgreich umgesetzt. Im Listing klappt es, im Product-Stream nicht.
Hat jemand eine Idee wie man das umsetzen könnte? Was muss ich ändern, damit ich die Artikeleigenschaften auch im Product-Stream angezeigt bekomme?
Plugin:
<?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;
}
}
Anzeige in box-basic.tpl:
{if $sArticle.sProperties}
{foreach $sArticle.sProperties as $sProperty}
<p>{$sProperty.name|escape}: {$sProperty.value|escape}</p>
{/foreach}
{/if}