Убрать название компонента из URL

InstantCMS 2.X
#1 27 мая 2019 в 08:12
Всем привет!

Есть компонент в url открывается так site.ru/comp/action/1

Подскажите, как убрать "comp", чтобы открывался site.ru/action/1?
#2 27 мая 2019 в 08:37
Никак. Можно только для типов контента. Компоненты можно только переименовать.
#3 27 мая 2019 в 11:21

Компоненты можно только переименовать

Loadырь
или вывести их на главной.
Тогда названия компонента в урл не будет.
#4 27 мая 2019 в 11:36
Можно, но только пожертвовав типами контента. В конфигурационном файле:
  1. 'ct_default' => 'content',
заменить на
  1. 'ct_default' => 'comp',
#5 27 мая 2019 в 12:10

Можно, но только пожертвовав типами контента. В конфигурационном файле:

Fuze
А если во фронтенде компонента в функции
  1. public function parseRoute($uri){
  2.  
  3. $action_name = parent::parseRoute($uri);
  4.  
  5. if (!$action_name && $this->cms_config->ctype_default){
  6. $action_name = parent::parseRoute($this->cms_config->ctype_default[0] . '/' . $uri);
  7. }
  8.  
  9. return $action_name;
  10.  
  11. }
Вместо $this->cms_config->ctype_default[0] добавить название компонента
#6 27 мая 2019 в 15:34

А если во фронтенде компонента в функции

Вадим Нарочный
До этого файла выполнение не дойдёт.
#7 14 июня 2019 в 00:19
Заходишь в \system\controllers\admin\forms и берешь form_settings.php после
  1. $ctypes = cmsCore::getModel('content')->getContentTypes();
необходимо добавить
  1. $controllers = cmsCore::getModel('admin')->getInstalledControllers();
далее в
  1. new fieldList('ctype_default', array(
  2. 'title' => LANG_CP_SETTINGS_CTYPE_DEF,
  3. 'is_chosen_multiple' => true,
  4. 'hint' => LANG_CP_SETTINGS_CTYPE_DEF_HINT,
  5. 'generator' => function($item) use($ctypes){
добавляешь, $controllers и
  1. if ($controllers) {
  2. foreach ($controllers as $controller) {
  3. $items[$controller['name']] = $controller['title'];
  4. }
  5. }
получается что-то типа такого
  1. new fieldList('ctype_default', array(
  2. 'title' => LANG_CP_SETTINGS_CTYPE_DEF,
  3. 'is_chosen_multiple' => true,
  4. 'hint' => LANG_CP_SETTINGS_CTYPE_DEF_HINT,
  5. 'generator' => function($item) use($ctypes, $controllers){
  6. if ($ctypes) {
  7. foreach ($ctypes as $ctype) {
  8. $items[$ctype['name']] = $ctype['title'];
  9. }
  10. }
  11. if ($controllers) {
  12. foreach ($controllers as $controller) {
  13. $items[$controller['name']] = $controller['title'];
  14. }
  15. }
  16. return $items;
  17. }
  18. ))
И потом выбираешь в настройках. Так вроде все.
#8 23 декабря 2019 в 10:04
Все сделал по инструкции. Появилась в настройках возможность выбора. Выбрал компонент ГРУППЫ, но ничего не происходит. Открывается как прежде с названием компонента!
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.