Активные заголовки модулей

+25
1.41K
Всем привет!

Решил поделиться своей небольшой доработкой, а точнее небольшим хаком.
Задача была в следующем, чтобы заголовки модулей стали активными ссылками.
Иллюстрация

Приступаем к изменениям!

1. Добавляем дополнительное поле module_link в таблицу cms_modules
  1. ALTER TABLE `cms_modules` ADD `module_link` VARCHAR( 200 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ;
2. Вносим изменения в файл /www/admin/applets/modules.php
В блоке: if ($do == 'update'){ //строка 266
после строки:
  1. $title = cmsCore::request('title', 'str', ''); //строка 271
добавляем строку:
  1. $module_link = cmsCore::request('module_link', 'str', '');
далее в SQL-запрос: $sql = "UPDATE cms_modules //строка 290
после строки:
title='$title',
добавляем:
module_link='$module_link',

Далее делаем тоже самое в блоке: if ($do == 'submit'){ //строка 346
после строки:
  1. $title = cmsCore::request('title', 'str', ''); //строка 354
добавляем строку:
  1. $module_link = cmsCore::request('module_link', 'str', '');
далее в SQL-запрос в блоке if ($operate == 'user'){ //строка 375
в $sql перед position добавляем module_link,
и перед '$position' добавляем '$module_link',
и чуть ниже в блоке if ($operate == 'clone'){ //строка 381
в $sql перед position добавляем module_link,
и перед '{$position}', добавляем '{$module_link}',

Добавляем вывод input, после блока:
  1. <div><strong><?php echo $_LANG['AD_MODULE_TITLE'];?></strong> //строка 513
после закрывающего </div>
перед
  1. <table width="100%" cellpadding="0" cellspacing="0" style="margin-top:5px;"> //строка 525
вставляем блок:
  1. <div><strong>Ссылка заголовка модуля</strong> <span class="hinttext">&mdash; активная ссылка заголовка</span></div>
  2. <div>
  3. <table width="100%" cellpadding="0" cellspacing="0" >
  4. <tr>
  5. <td><input name="module_link" type="text" id="module_link" style="width:100%" value="<?php echo htmlspecialchars($mod['module_link']);?>" /></td>
  6. </tr>
  7. </table>
  8. </div>
3. Вносим изменения в шаблон модуля /templates/_default_/modules/module.tpl
строку {$mod.title} //строка 4
меняем на {if $mod.module_link!=''}<a href="{$mod.module_link}" title="{$mod.title}">{$mod.title}</a>{else}{$mod.title}{/if}

После данных манипуляций мы получаем дополнительное поле в админке
Иллюстрация

Кто не вносил изменения в данные файлы, то можно просто заменить их на мои из архива:
http://instantcms.ru/users/files/download4258.html

Всем хорошего весеннего настроения!

Ну и вдруг кому захочется поблагодарить за работу:
Яндекс.Деньги — 41001235605991
WMR — R291063117803
+1
Олег Васильевич я Олег Васильевич я 7 лет назад #
Всё гениальное просто!
+3
Денис Васильевич Денис Васильевич 7 лет назад #
плагиат, плагиат! я запатентовал это разработку! laugh
п.с. да нужная штука. я такую доработку уже давненько включаю в свои шаблоны.
Спойлер
0
Майкл Майкл 7 лет назад #
Отличная вещь! А какие измениения вносили, чтобы добавилась упрощенная стилизация?
0
irbis irbis 7 лет назад #
Извиняюсь... ))) Когда у меня была необходимость, я не нашел решения в блогах и на форуме. А вашу доработку по упрощенной стилизации я не использовал никогда. Это также получилось, я размещал в форуме тему по SEO для категорий, в файлах лежит доработка, а на чтене благодарность. А гораздо позже опубликовали блог по SEO для категорий статей.
0
lezginka.ru lezginka.ru 7 лет назад #
+++
irbis , а плагином нельзя это сделать...хак не то
0
irbis irbis 7 лет назад #
Как сделать плагином, я не знаю. Точнее, сильно не вдавался. Может найдутся умельницы и перепишут на скорую руку! joke Я заложил здесь саму идею.
0
Max Max 7 лет назад #

Еще от автора

Компонент "Совместные покупки"
Всем привет! Уже как год лежит готовый компонент для организации "Совместных покупок".
Хак: добавление комментариев в ленту активности
Всем привет! Решил выложить свою мини-доработку по добавлению комментария в ленту активности.
Хак: поворот фото в Фотоальбомах
Всем привет! Давно ничего не писал, как обычно нет на все времени.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.