/** * Builds a url using the request. * * @param Enlight_Controller_Router_EventArgs $args * @return string */ public function onAssemble(Enlight_Controller_Router_EventArgs $args) { $params = $args->getParams(); if (!empty($params['module']) && $params['module'] != 'frontend') { return; } if (!Shopware()->Bootstrap()->issetResource('Db') || !Shopware()->Bootstrap()->issetResource('Shop') ) { return; } unset($params['sCoreId'], $params['sUseSSL'], $params['title'], $params['module']); if (!empty($params['sAction']) && $params['sAction'] == 'index') { unset($params['sAction']); } $id = md5(serialize($params)); if (!isset($this->urls[$id])) { $this->urls[$id] = $this->assemble($params); } return $this->urls[$id]; }
/** * Event listener method * * @param Enlight_Controller_Router_EventArgs $args * @return array */ public function onAssemble(Enlight_Controller_Router_EventArgs $args) { $params = $args->getParams(); if (isset($params['sViewport'])) { $params['controller'] = $params['sViewport']; } if (isset($params['sAction'])) { $params['action'] = $params['sAction']; } unset($params['title'], $params['sViewport'], $params['sAction']); return $args->getSubject()->assembleDefault($params); }