Всем привет!
Есть компонент в url открывается так site.ru/comp/action/1
Подскажите, как убрать "comp", чтобы открывался site.ru/action/1?
InstantCMS 2.X
#1
27 мая 2019 в 08:12
#2
27 мая 2019 в 08:37
Никак. Можно только для типов контента. Компоненты можно только переименовать.
#3
27 мая 2019 в 11:21
или вывести их на главной.Компоненты можно только переименовать
Тогда названия компонента в урл не будет.
Сегодня в 12:16
#4
27 мая 2019 в 11:36
Можно, но только пожертвовав типами контента. В конфигурационном файле:
заменить на
'ct_default' => 'content',
'ct_default' => 'comp',
#5
27 мая 2019 в 12:10
А если во фронтенде компонента в функцииМожно, но только пожертвовав типами контента. В конфигурационном файле:
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; }
#6
27 мая 2019 в 15:34
До этого файла выполнение не дойдёт.А если во фронтенде компонента в функции
#7
14 июня 2019 в 00:19
Заходишь в \system\controllers\admin\forms и берешь form_settings.php после
необходимо добавить
далее в
добавляешь, $controllers и получается что-то типа такого
И потом выбираешь в настройках. Так вроде все.
$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; } ))
#8
23 декабря 2019 в 10:04
Все сделал по инструкции. Появилась в настройках возможность выбора. Выбрал компонент ГРУППЫ, но ничего не происходит. Открывается как прежде с названием компонента!