ich habe ein Plugin mit einem neuen Controller. Der funktioniert auch super. In diesem Controller habe ich eine Cronjob-Methode, die mir die Urls für die Actions generiert und mit
Dank Max (falls du hier überhaupt unterwegs bist) und diesem Beitrag (https://forum.shopware.com/discussion/comment/138402/#Comment_138402) habe ich es hinbekommen. Alle Routings mit Parametern müssen gesondert eingetragen werden, wie in der Klasse RewriteGenerator unter Shopware\Components\Routing\Generators.
Dann weiter so. Der dritte Parameter muss (anders als im verlinkten beitrag oben) seit Version 5.2 (glaube ich, hab es nicht genau verglichen) auch dabei sein.
In der Tabelle s_core_rewrite_urls ist der Eintrag auch entsprechend vorhanden:
org_path: sViewport=meincontroller&meinattribut=wert
path: meincontroller/meinwert
In Smarty wird die URL aber nicht richtig ausgegeben:
aus [
wird ]({url controller=meincontroller meinattribut=wert})
Muss da noch etwas registriert werden, oder ist die Registrierung des Events falsch?
public static function getSubscribedEvents()
{
return [
'Shopware_Components_RewriteGenerator_FilterQuery' => 'onFilterRewriteQuery'
];
}
public function onFilterRewriteQuery(\Enlight_Event_EventArgs $args)
{
$orgQuery = $args->getReturn();
$query = $args->getQuery();
if ($query['controller'] === 'meincontroller' && isset($query['meinattribut'])) {
$orgQuery['meinattribut'] = $query['meinattribut'];
unset($orgQuery['sAction']);
}
return $orgQuery;
}