Модули со своими шаблонами 1.10.3

+49
2.32K
Этот хак для 1.10.3
Для чего? Пример ниже (все нумерованные модули – копии модуля «Новые статьи» с разными шаблонами):
Иллюстрация

В 1.10.3 делаем чуток иначе, примером послужит тот же модуль "Новые статьи":
1.admin\modules\mod_latest\backend.xml
После :
  1. <param type="flag" name="is_pag" default="on" />
Вставить:
  1. <param type="string" name="tpl" title="Использовать шаблон" default="mod_latest.tpl" />
(тексты теперь здесь вставлять позорно, но, если себе, то — можно zst)
2.modules\mod_latest\module.php
Строку:
  1. cmsPage::initTemplate('modules', 'mod_latest')->
Заменить на:
  1. $template = ($cfg['tpl'] ? $cfg['tpl'] : 'mod_latest.tpl');
  2. cmsPage::initTemplate('modules', $template)->
Строку:
  1. display('mod_latest.tpl');
на:
  1. assign('cfg', $cfg)->display($template);
Если я всё правильно понимаю, в modules\mod_latest\ajax\latest.php теперь ничего не надо делать – возвращается нужный шаблон.
Теперь содаём нужный шаблон модуля, делаем копию модуля, копии назначаем наш шаблон для вывода.
Делов на пару минут — воможностей для издевательств над модулями тьма!
Делалось любителем. Профи, поправьте, пожалуйста, если что не так.
Удачи вам!
+1
eoleg eoleg 10 лет назад #
Если я правильно понял теперь точно можно сделать так что никто не узнает инстант!
0
Def Def 10 лет назад #
а что раньше это мешало сделать?)
0
PolarOne PolarOne 10 лет назад #
По этой ссылке написано что мешало.
Спойлер
Олег Васильевич я, спасибо! Очень даже возможно что и пригодится!
0
PolarOne PolarOne 10 лет назад #
Перечитав ваше сообщение, засомневался в правильном понимании вашего комментария. Извините если что)
0
alexbabo alexbabo 10 лет назад #
Без хака,чтобы не менять ядро Инстанта.
Создаем новый шаблон модуля с названием module_moishablon.tpl
В id пишем id="moishablon".
Код PHP:
  1. <div id="moishablon">
  2. <div class="module">
  3. {if $mod.showtitle neq 0}
  4. <h2 class="moduletitle">
  5. {$mod.title}
  6. {if $cfglink}
  7. <span class="fast_cfg_link">
  8. <a href="javascript:moduleConfig({$mod.id})" title="Settings">
  9. <img src="/templates/_default_/images/icons/settings.png"/>
  10. </a>
  11. </span>
  12. {/if}
  13. </h2>
  14. {/if}
  15. <div class="modulebody">{$mod.body}</div>
  16. </div>
  17. </div>
В файле style.css создаем нужный стиль нового
#moishablon{}
Можно создать сколько угодно своих шаблонов с разным дизайном и в админке выбрать нужный шаблон для модуля.
Работает для любой версии Инстанта.
Или другой вариант читаем тут в блоге • Mike • Расширенные свойства модулей в module.tpl
0
alexbabo alexbabo 10 лет назад #
Ошибся в файле style.css надо прописать так:
#moishablon .module { }
#moishablon .moduletitle {}
#moishablon .modulebody {} ....
и так далее,что вам будет нужно
0
alexbabo alexbabo 10 лет назад #
Примеры работы:
TorontoBoom
XuBuX
Плохо,что нельзя редактировать комментарии.
Олег Васильевич я Олег Васильевич я 10 лет назад #
Комментарий удален
+2
alexbabo alexbabo 10 лет назад #
Я только ответил PolarOne,который удивился вопросу yury .
А ваш хак очень даже нужный.
Олег Васильевич я Олег Васильевич я 10 лет назад #
Комментарий удален
+1
eoleg eoleg 10 лет назад #
yury , одним мешает одно, другим другое, вот вы задаете вопросы на форуме, как аватарку сменить и другие подобные, не пойму что вам то мешает? smile
0
Def Def 10 лет назад #
аватарка просто так не ставится) иначе бы поставил)))
+1
Алексей Т Алексей Т 10 лет назад #
Олег Васильевич идея отличная в жизнь ее надо!+ v
0
lezginka.ru lezginka.ru 10 лет назад #
а почему обделили вниманием 1,10,1 ?
Олег Васильевич я Олег Васильевич я 10 лет назад #
Комментарий удален
0
m0skit m0skit 10 лет назад #
А как сделать подомное для модуля InstantMaps "Новые объекты"? А то нет в файле module.php ничего подобного

Еще от автора

Pioneer - скин для шаблона modern
Бред сумасшедшего на тему "Как бы выглядела InstantCMS 1-х сегодня".
Одна ёлка, немного снега и два Деда, играющихся в прятки
Ещё один вариант новогоднего украшения. Пока не замылено в сети (на эту минуту стоит только на 2-х сайтах)
Новогодние скидки
Всё платное за 50%
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.