Есть компонент в url открывается так site.ru/comp/action/1
Подскажите, как убрать "comp", чтобы открывался site.ru/action/1?
или вывести их на главной.Компоненты можно только переименовать
Тогда названия компонента в урл не будет.
'ct_default' => 'content',
'ct_default' => 'comp',
А если во фронтенде компонента в функцииМожно, но только пожертвовав типами контента. В конфигурационном файле:
public function parseRoute($uri){ $action_name = parent::parseRoute($uri); if (!$action_name && $this->cms_config->ctype_default){ $action_name = parent::parseRoute($this->cms_config->ctype_default[0] . '/' . $uri); } return $action_name; }
До этого файла выполнение не дойдёт.А если во фронтенде компонента в функции
$ctypes = cmsCore::getModel('content')->getContentTypes();
$controllers = cmsCore::getModel('admin')->getInstalledControllers();
'title' => LANG_CP_SETTINGS_CTYPE_DEF, 'is_chosen_multiple' => true, 'hint' => LANG_CP_SETTINGS_CTYPE_DEF_HINT, 'generator' => function($item) use($ctypes){
if ($controllers) { foreach ($controllers as $controller) { $items[$controller['name']] = $controller['title']; } }
'title' => LANG_CP_SETTINGS_CTYPE_DEF, 'is_chosen_multiple' => true, 'hint' => LANG_CP_SETTINGS_CTYPE_DEF_HINT, 'generator' => function($item) use($ctypes, $controllers){ if ($ctypes) { foreach ($ctypes as $ctype) { $items[$ctype['name']] = $ctype['title']; } } if ($controllers) { foreach ($controllers as $controller) { $items[$controller['name']] = $controller['title']; } } return $items; } ))