Exemplo n.º 1
0
    /**
     * 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];
    }
Exemplo n.º 2
0
 /**
  * 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);
 }