Здравствуйте!
Часто возникает необходимость клонированные модули вывести так чтобы они существенно отличались друг от друга.
Встроенных возможностей (css префикс, обёртка — module.tpl) не всегда достаточно (мне, по крайней мере).
Предлагаемый хак поможет решить эту проблему.
Раскажу как сделать на примере дефолтного модуля "Новые статьи":
1.admin\modules\mod_latest\backend.xml — вставить перед </params>
2.modules\mod_latest\module.php после
вставить:
строку:
заменить на:
строку:
заменить на:
Вот и все правки.
09.05.2013: Стоп, не все!!! Спасибо Reborn, подсказал о модулях с пагинацией — возвращается дефолтный шаблон. У последних новостей она есть. Правки те же что в п2, правим файл modules\mod_latest\ajax\latest.php
Далее зайдите в настройки модуля, нажмите сохранить. После этого можете клонировать модуль столько сколько нужно и каждой копии назначать свой шаблон.
Да: коды актуальны для 1.10.1
Демо: (там, правда, по этому принципу изменён другой модуль — популярные статьи) здесь (слайдер с большой картинкой). Его копия — на странице "статьи"
Удачи!
Часто возникает необходимость клонированные модули вывести так чтобы они существенно отличались друг от друга.
Встроенных возможностей (css префикс, обёртка — module.tpl) не всегда достаточно (мне, по крайней мере).
Предлагаемый хак поможет решить эту проблему.
Раскажу как сделать на примере дефолтного модуля "Новые статьи":
1.admin\modules\mod_latest\backend.xml — вставить перед </params>
<param type="string" name="tpl" title="Использовать шаблон" default="mod_latest.tpl" />
if(!$content_list) { return false; }
$template = ($cfg['tpl'] ? $cfg['tpl'] : 'mod_latest.tpl');
$smarty = $inCore->initSmarty('modules', 'mod_latest.tpl');
$smarty = $inCore->initSmarty('modules', $template);
$smarty->display('mod_latest.tpl');
$smarty->display($template);
09.05.2013: Стоп, не все!!! Спасибо Reborn, подсказал о модулях с пагинацией — возвращается дефолтный шаблон. У последних новостей она есть. Правки те же что в п2, правим файл modules\mod_latest\ajax\latest.php
Далее зайдите в настройки модуля, нажмите сохранить. После этого можете клонировать модуль столько сколько нужно и каждой копии назначать свой шаблон.
Да: коды актуальны для 1.10.1
Демо: (там, правда, по этому принципу изменён другой модуль — популярные статьи) здесь (слайдер с большой картинкой). Его копия — на странице "статьи"
Удачи!
Реклама #
Александр 11 лет назад #
Reborn 11 лет назад #
+ за хак, но там еще нужно править /ajax/mod_*.php , иначе при пагинации шаблон будет старый . А так все мб верно...
Олег Васильевич я 11 лет назад #
Олег Васильевич я 11 лет назад #
Олег Васильевич я 11 лет назад #
Zau4man 11 лет назад #
Пригодится.
Сам когда-то делал разное оформление для разделов статей, ибо одно на все - ну непорядок :)
Atid 11 лет назад #
Atid 11 лет назад #
Олег Васильевич я 11 лет назад #
Роман 11 лет назад #
Константин Г. 11 лет назад #
Олег Васильевич я 11 лет назад #