Hallo, ich möchte mittels Plugin die Sortierung im Listing beeinflussen können - also weitere Sortiermethoden hinzufügen. Dazu wird template-seitig die list_actions.tpl erweitert. Um die Sortierung zu beeinflussen muss ich die Function sGetArticlesByCategory manipulieren. Wie wäre hier die bestPractise? Via Hook ? $this-\>subscribeEvent( 'sArticles::sGetArticlesByCategory::before', 'sGetArticlesByCategory' );
Oder mit welchem Event kann ich $orderBy manipulieren (Im sArticles Controller wird mittels switch $sSort die Sortierung festgelegt)… Kann mir jemand Starhilfe geben?
Man kann das filter-Event Shopware_Modules_Articles_sGetArticlesByCategory_FilterSql im Plugin-Bootstrap anzapfen und nach Bedarf den SQL-String anpassen und zwar das ziemlich unterste Teil vom String ORDER BY … mit eigenem Order ersetzen. Und dann noch die neuen Sortierungs-Optionen dem Select hinzufügen (Smarty-Block frontend_listing_actions_sort_values)
Sind beides seeehr unschöne Methoden. Auch das einfache Ersetzen von queries ohne einen parser einzusetzen kann gefährlich sein. Muss man schauen was für einen das geringere Übel ist. Viele Grüße
Was wäre eine bessere Lösung?