Доброго времени суток!
Мне очень сильно не нравится то, что чтобы попасть с главной страницы сайта например в новости, объявления мне нужно искать где-то меню, хотя вот оно свободное поле — заголовок модуля.
В связи с производственной необходимостью сделал следующее — теперь можно указать для заголовка любого модуля любую ссылку. Для этого нужно :
1. правим файл /modules/module.tpl в вашем шаблоне
вместо строки
записываем в него следующий код
приведу свой module.tpl, он небольшой
2. выбираем нужный модуль, например последние новости, пусть есть раздел в статьях Новости, куда мы сделаем ссылку.
Т.е. это у нас mod_latest модуль
заходим в /admin/modules/mod_latest
там лежит backend.xml файл с настройками данного модуля последних новостей
теперь просто добавляем в конец строку
приведу полный текст файла
и все!!!
3. теперь в настройках модуля можно поставить ссылку вида http:// вашсайт.ру/novosti или просто /novosti
и заголовок модуля станет активной ссылкой на раздел статей Новости
а если убрать ссылку в настройках — то заголовок станет просто текстом, как и раньше
единственное, придется перелопатить кучу модулей )))
я сделал для модуля Новые пользователи вот настройка модуля
Демо: можно зайти СЮДА и кликнуть по заголовку модуля Новые пользователи
ниже можно сказать Спасибо! 😊
Мне очень сильно не нравится то, что чтобы попасть с главной страницы сайта например в новости, объявления мне нужно искать где-то меню, хотя вот оно свободное поле — заголовок модуля.
В связи с производственной необходимостью сделал следующее — теперь можно указать для заголовка любого модуля любую ссылку. Для этого нужно :
1. правим файл /modules/module.tpl в вашем шаблоне
вместо строки
{$mod.title}
{php} $inCore = cmsCore::getInstance(); $config = $inCore->yamlToArray($this->_tpl_vars['mod']['config']); if ($config['modlink']) { echo '<a href="'.$config['modlink'].'"style="text-decoration:none;color:#416C97;">'.$this->_tpl_vars['mod']['title'].'</a>'; } else { echo $this->_tpl_vars['mod']['title']; } {/php}
<div class="{$mod.css_prefix}module"> {if $mod.showtitle neq 0} <div class="{$mod.css_prefix}moduletitle"> {php} $inCore = cmsCore::getInstance(); $config = $inCore->yamlToArray($this->_tpl_vars['mod']['config']); if ($config['modlink']) { echo '<a href="'.$config['modlink'].'"style="text-decoration:none;color:#416C97;">'.$this->_tpl_vars['mod']['title'].'</a>'; } else { echo $this->_tpl_vars['mod']['title']; } {/php} {if $cfglink} <span class="fast_cfg_link"> <a href="javascript:moduleConfig({$mod.module_id})" title="Настроить модуль"> <img src="/templates/_default_/images/icons/settings.png"/> </a> </span> {/if} </div> {/if} <div class="{$mod.css_prefix}modulebody">{$mod.body}</div> </div>
2. выбираем нужный модуль, например последние новости, пусть есть раздел в статьях Новости, куда мы сделаем ссылку.
Т.е. это у нас mod_latest модуль
заходим в /admin/modules/mod_latest
там лежит backend.xml файл с настройками данного модуля последних новостей
теперь просто добавляем в конец строку
<param type="string" name="modlink" title="Активная ссылка в заголовке" default="" />
<?xml version="1.0" encoding="windows-1251"?> <backend> <module> <id>mod_latest</id> <title>Последние материалы</title> </module> <params> <param type="number" name="newscount" title="Количество материалов" units="шт." default="5" /> <param type="flag" name="showdesc" title="Показывать анонсы" default="on" /> <param type="flag" name="showdate" title="Показывать даты и авторов" default="on" /> <param type="flag" name="showcom" title="Показывать число комментариев" default="on" /> <param type="flag" name="showrss" title="Показывать ссылку на RSS" default="on" /> <param type="list_db" name="cat_id" title="Материалы из раздела" src="cms_category" src_title="title" src_value="id" tree="1" /> <param type="flag" name="subs" title="Вместе с подразделами" default="off" /> <param type="flag" name="is_pag" title="Использовать пагинацию" default="on" /> <param type="string" name="modlink" title="Активная ссылка в заголовке" default="" /> </params> </backend>
3. теперь в настройках модуля можно поставить ссылку вида http:// вашсайт.ру/novosti или просто /novosti
и заголовок модуля станет активной ссылкой на раздел статей Новости
а если убрать ссылку в настройках — то заголовок станет просто текстом, как и раньше
единственное, придется перелопатить кучу модулей )))
я сделал для модуля Новые пользователи вот настройка модуля
Демо: можно зайти СЮДА и кликнуть по заголовку модуля Новые пользователи
ниже можно сказать Спасибо! 😊
Реклама #
Reborn 12 лет назад #
Всё на самом деле просто.
demous 12 лет назад #
Роман 12 лет назад #
Крот 12 лет назад #
там будет проще чем в блогах выбрать что нужно, даже если разработчики не включат в оффрелиз
Malanas 12 лет назад #
Malstein 12 лет назад #
Mr.Andreius 12 лет назад #
Надежда 12 лет назад #
Reborn 12 лет назад #
Reborn 12 лет назад #
Анатолий 12 лет назад #
r2 12 лет назад #
то есть на той странице, где заголовок модуля вводится
это конечно чуть сложнее, надо поле в базе добавлять и сохранение/загрузку поля добавить, но зато действовать будет на все модули сразу
Крот 12 лет назад #
а потом, когда выйдет релиз с данной функцией, я просто уберу это из своего шаблона
ИМХО чем меньше вмешательства в систему, тем проще