Главная » 2011 » Май » 31 » Модернизация модуля категорий beta 0.1

        
        
    
Добавляем:

        
        
    
5.4. Зменить
$db->query( "UPDATE " . PREFIX . "_category set parentid='$parentid', name='$cat_name', alt_name='$alt_cat_name', icon='$cat_icon', skin='$skin_name', descr='$description', keywords='$keywords', news_sort='$news_sort', news_msort='$news_msort', news_number='$news_number', short_tpl='$short_tpl', full_tpl='$full_tpl' WHERE id='$catid'" );
На:
$db->query( "UPDATE " . PREFIX . "_category set parentid='$parentid', name='$cat_name', alt_name='$alt_cat_name', icon='$cat_icon', skin='$skin_name', descr='$description', keywords='$keywords', news_sort='$news_sort', news_msort='$news_msort', news_number='$news_number', short_tpl='$short_tpl', full_tpl='$full_tpl', cat_block1='$cat_block1' WHERE id='$catid'" );

И на последок:
Заходим в админку теперь появилось поле для редактирования блока вразделе "Управление категориями" если кто еще не понял:

Выводим блок в шаблон через тег:
{cat_block1}

6. Забыл - наслаждаемся результатом.

С уважением,
MozgFx
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[?]
Код Блока
        
Категория: Модули | Просмотров: 396 | Добавил: ALL-DLE | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: