Интересная такая ситуация.
Возможно ли из модуля сменить загрузочный шаблон от контента, не меняя что либо в core движка?
Пишу модуль, и как всем известно есть параметр $returnid, он отображает весь модуль на той странице, куда мы пошлём, и при этом загружает шаблон (template) который указан в контентной странице.
Разжёвываю вопрос ещё раз, можно ли отобразить модуль без указания контента на другом шаблоне?
Есть вариант, но это издец какой тупой, постоянно при лоуде менять в базе контенту - шаблон.
Смена дизайна для контента
Re: Смена дизайна для контента
А я всё равно не понял, что именно вы хотите получить.
Если вы хотите вывести результат выполнения модуля без какого либо оформления, то достаточно создать страницу с пустым шаблон, в котором будет толькои подставить в $returnid id этой страницы.
Если вы хотите вывести результат выполнения модуля без какого либо оформления, то достаточно создать страницу с пустым шаблон, в котором будет только
Code: Select all
{content}
Re: Смена дизайна для контента
Это понятно, речь о другом. Привожу пример:guro wrote:А я всё равно не понял, что именно вы хотите получить.
Если вы хотите вывести результат выполнения модуля без какого либо оформления, то достаточно создать страницу с пустым шаблон, в котором будет толькои подставить в $returnid id этой страницы.Code: Select all
{content}
Есть 3 шаблона: главная страница, список продукта, о продукте.
Что бы создавать модуль с разными шаблонами, надо страницы + MLE, это выходит 6 страниц, и это только 2 языка.
Как сделать из одной страницы допустим $returnid = 1
Показывалась страница с разными шаблоном, указав из модуля нужный шаблон.
Извиняюсь если не так изъясняюсь
Re: Смена дизайна для контента
А вы используете механизм создания маршрутов для чпу? Если да, тогда можете вот так попробоватьа $detailpage вы можете хранить в БД как доп. параметр для страницы
Code: Select all
$parms = array('action'=>'object', 'returnid'=>$detailpage);
$route = new CmsRoute('/objects\/(?P<obj_number>[0-9]+)$/', $this->GetName(), $parms, false);
cms_route_manager::register($route);