06:29 Модернизация модуля категорий beta 0.1 | |
Предисловие: Человек далекий от программирования используя копипаст за пару часов написал этот код. Поэтому просьба не судить строго. Модуль очень полезный для больших порталов где требуются разные модули и блоки, в каждой категории. Решил модернизировать блок категорий всвязи с тем, что необходимо на одном сайте создать большое количество категорий. Решение c тегами "custom", "avialable", "include file" не подходит получиться очень большой файл шаблона. Что будет добавлено. Добавлять будем поле(по аналогии можно добавить несколько) для ввода блока - HTML код. Храниться всё это дело будет в базе данных. Выводиться в шаблон по средством тегов {cat_block1}. Данные будут браться в зависимости от той категории в которой вы находитесь. Если не укажите блок то ничего и не будет выводиться. К сожалению пока не работает для главной страницы. И так приступим. 1. Сначала добавим в базу данных в таблицу dle_categories дополнительно столбец cat_block1 (значение поля TEXT) 2. Создадим файл /engine/modules/mod_cat.php $row = $db->super_query( "SELECT * FROM " . PREFIX . "_category WHERE id = '{$category_id}'" ); $cat_block1 = $row['cat_block1']; $tpl->set ( '{cat_block1}', '{$cat_block1}' ); ?> 3. Внесем изменения в файл /engine/engine.php Добавить данную строку include_once ENGINE_DIR."/modules/mod_cat.php"; После: if ($titl_e) $metatags['title'] = $titl_e . ' » ' . $config['home_title']; Или перед if (! $rss_url) { if ($config['allow_alt_url'] == "yes") { $rss_url = $config['http_home_url'] . "rss.xml"; 4. Откроем файл /index.php Добавить $tpl->set ( '{cat_block1}', $cat_block1 ); Перед $tpl->set ( '{speedbar}', $tpl->result['speedbar'] ); 5. Доработка в админке. Открываем файл /engine/inc/categories.php 5.1. Встречается в коде два раза. После $full_tpl = totranslit Дбавляем строку $cat_block1 = stripslashes ( $_POST['cat_block1'] ); 5.2 Заменяем $db->query( "INSERT INTO " . PREFIX . "_category (parentid, name, alt_name, icon, skin, descr, keywords, news_sort, news_msort, news_number, short_tpl, full_tpl) values ('$category', '$cat_name', '$alt_cat_name', '$cat_icon', '$skin_name', '$description', '$keywords', '$news_sort', '$news_msort', '$news_number', '$short_tpl', '$full_tpl')" ); На: $db->query( "INSERT INTO " . PREFIX . "_category (parentid, name, alt_name, icon, skin, descr, keywords, news_sort, news_msort, news_number, short_tpl, full_tpl, cat_block1) values ('$category', '$cat_name', '$alt_cat_name', '$cat_icon', '$skin_name', '$description', '$keywords', '$news_sort', '$news_msort', '$news_number', '$short_tpl', '$full_tpl', '$cat_block1')" ); 5.3. Встречается в коде два раза: После: | |
{$lang['cat_f_tpl']} | .tpl[?] |
Код Блока | |
|
Всего комментариев: 0 | |