Есть тип контента places и есть компонент places, со своим frontend.php model.php и т.д. и вот возникает вопрос, почему нет конфликта?
Пытаюсь доработать тип контента, создаю папку в controllers, создаю frontend.php и model.php но на сайте получаю индексную страницу из frontend.php, если убрать actionIndex() то получаю ошибку 404
Как в InstantMaps это устроено?
Я так форум начал делать.Как увязать тип контента и компонент с таким же системным именем
Как только есть тип контента и такая же папка, между ними появляется связь.
Создается компонент и играет по правилам и настройкам созданного контента.
Т.е. все что в админке в типе контента настраивается, можно использовать в компоненте.
Теперь нужно создавать свои файлы обработки и функции.
Большинство наследуется из стандартных системных.
Может не правильно как то выражаюсь конечно, но я два дня убил чтоб немного понять что-куда.
И получилось такое начало компонента форум: instantcms.2bl.ru/topic
Соответственно все разделы управляются штатно, и записи тоже из админки.
Я так форум начал делать.Как увязать тип контента и компонент с таким же системным именем
Как только есть тип контента и такая же папка, между ними появляется связь.
Создается компонент и играет по правилам и настройкам созданного контента.
Т.е. все что в админке в типе контента настраивается, можно использовать в компоненте.
Теперь нужно создавать свои файлы обработки и функции.
Большинство наследуется из стандартных системных.
Может не правильно как то выражаюсь конечно, но я два дня убил чтоб немного понять что-куда.
И получилось такое начало компонента форум: instantcms.2bl.ru/topic
Соответственно все разделы управляются штатно, и записи тоже из админки.
Здорово… Если бы поля и свойства типов контента были функциональней и более расширенными..
То наверное и форум можно было сваять с помощью УК.)) Теоретически...)))
присоединяюсь к вопросу. Тоже самое происходитПытаюсь доработать тип контента, создаю папку в controllers, создаю frontend.php и model.php но на сайте получаю индексную страницу из frontend.php, если убрать actionIndex() то получаю ошибку 404
Как в InstantMaps это устроено?
Чтобы соединить компонент и тип контента, нужно в файле фронтенд добавить две функции:
public function routeAction($action_name) { $core = cmsCore::getInstance(); // подключаем ядро if (!$core->uri_params) { // если параметров в ссылке нет, то $core->uri_controller = 'content'; // указываем имя нужного контроллера $core->runController(); // и запускаем его return 'close'; // после вывода шаблона, показываем пустой экшен первого контроллера } return $action_name; // возвращаем имя экшена, если есть параметры в ссылке } public function actionClose(){ return false; }
return 'close'; // после вывода шаблона, показываем пустой экшен первого контроллера
return false; // после вывода шаблона, выводим ничего
Как то так
public function routeAction($action_name) { $core = cmsCore::getInstance(); if (!$this->isActionExists($action_name)){ $core->uri_controller = 'content'; $core->runController(); return 'exit'; } return $action_name; } public function actionExit(){ return; }
Вот спасибо. А то покоя не давало что в условии приходиться помимо проверки на параметры напрямую указывать нужные экшены, иначе не работало редактирование/удалениеВ InstantMaps сделано так: