public function beforeExecute() { parent::beforeExecute(); // TODO: Change the autogenerated stub $document = $this->document(); $document->title = \Setting::get('site_name'); $this->_initTemplate(); $this->_initLanguages(); Plugin::addFilter('custom_router_param', function ($route, $params) { if ('products/category' == $route) { if (isset($params['id']) && ($term = \Terms::retrieveById($params['id']))) { $params['slug'] = $term->getSlug(); } } if ('products/detail' == $route) { if (isset($params['id']) && ($item = \Items::retrieveById($params['id']))) { $params['slug'] = $item->getSlug(); } } return $params; }, 1, 2); }
/** * Register default taxonomies */ protected function _registerDefaultTaxonomies() { Plugin::registerTaxonomy('category', 'post', array('label' => t('Category'), 'enable_custom_fields' => true)); Plugin::registerTaxonomy('banner', 'post', array('label' => t('Banner'), 'enable_custom_fields' => false)); Plugin::registerTaxonomy('post', 'post', array('label' => t('Post'))); Plugin::addFilter('term_property_form_category', function () { Content::addTermPropertyOpt('cat_view', ['label' => t('Category view'), 'control' => 'select', 'options' => Content::getCategoryTemplates()], 'category'); Content::addTermPropertyOpt('post_ordering', ['label' => t('Posts ordering'), 'control' => 'select', 'options' => [['label' => t('Created time'), 'value' => 'created_time'], ['label' => t('Publish time'), 'value' => 'publish_time'], ['label' => t('Modified time'), 'value' => 'modified_time'], ['label' => t('Post order'), 'value' => 'ordering'], ['label' => t('Hit'), 'value' => 'hits']]], 'category'); Content::addTermPropertyOpt('page_size', ['label' => t('Page size'), 'control' => 'input', 'type' => 'text', 'placeholder' => t('Number per page')], 'category'); Content::addTermPropertyOpt('post_view', ['label' => t('Post view'), 'control' => 'select', 'options' => Content::getPostTemplates()], 'category'); }); }