setName('Preview'); parent::__construct(); $this->markAsRequired(self::MACRO_TEMPLATE_ID); $this->markAsRequired(self::MACRO_PAGE_NAME, self::CTX_OTHER_PAGES); $this->markAsAvailable(self::MACRO_TYPE); $this->markAsAvailable(self::MACRO_AUTHOR); $this->markAsAvailable(self::MACRO_PRICE); $this->setDefaultRoute(self::CTX_FIRST_PAGE, '%TYPE%-type/%TEMPLATE-ID%.html'); $this->setDefaultRoute(self::CTX_OTHER_PAGES, '%TYPE%-type/%TEMPLATE-ID%/%PAGE-NAME%.html'); } function getRouteUriOrder($context) { if ($context == self::CTX_OTHER_PAGES) { return array(self::MACRO_TEMPLATE_ID, self::MACRO_PAGE_NAME); } elseif ($context == self::CTX_FIRST_PAGE) { return array(self::MACRO_TEMPLATE_ID); } return false; } function getUriPrefix() { return 'frontend/gate/preview'; } }