Artikellisten mit Eigenschaften erweitern

Hallo Community :slight_smile:

Ich suche momentan nach einer Möglichkeit die Artikeleigenschaften im Listing auszugeben.

Gibts da eine fertige Funktion oder muss ich dafür ein Plugin schreiben?

Ich habe das mal über ein Plugin versucht, aber da hakt es beim holen der Artikelliste.

Die Antwort hiervon ist immer Leer:

public function install()
    {

        $this->subscribeEvent(
            'Enlight_Controller_Action_PostDispatchSecure_Frontend',
            'addPropertiesToListing'
        );

        return true;
    }


    public function addPropertiesToListing(Enlight_Event_EventArgs $args)
    {
        $articles = $args->getReturn();
        $controller = $args->get('subject');
        $view = $controller->View();
        $view->assign('articleProperties', !empty($articles));

    }

 

Habs jetzt dafür ein Plugin geschrieben. Bei Interesse einfach melden.

Hey du,

Wie hattest du es bei dir gelöst. 

Meine Lösung sah bisher so aus, dass ich den Produkt Service dekoriert habe… Würde mich einfach mal interessieren wie du es gemacht hast. 

Liebe Grüße

Kevin

Ich denke da hast du die saubere Lösung, ich habe das über eine recht einfache Datenbankabfrage gelöst.

$subject = $args->getSubject();
        $sArticles = $subject->View()->getAssign('sArticles');
        if ($sArticles) {
            foreach ($sArticles as $key => $sArticle) {
                $articleID = $sArticle["articleID"];
                $properties = $this->get('db')->fetchAll("
select s_filter_options.name,s_filter_values.value from s_filter_articles 
left join s_filter_values on s_filter_articles.valueID = s_filter_values.id
left join s_filter_options on s_filter_values.optionID = s_filter_options.id
where articleID = $articleID");
                $sArticles[$key]['sProperties'] = $properties;
            }
            $subject->View()->assign('sArticles', $sArticles);
        }

 

1 Like