Перейти к публикации

Помощь в модернизации модуля админки "categories"


Рекомендованные сообщения

Нужна помощь в реализации модификации модуля админки "Управление категориями". Подключаемые шаблоны для категорий.

Это очень нужно для сайтов с очень большим количеством категорий.

Решение c тегами "custom", "avialable", "include file" не подходит получиться очень большой файл шаблона.

А так мы указываем в конкретному разделу конкретные блоки количество которых зависит от требований к количеству таких блоков.

Как я себе это представляю:

1. В базу данных сайта DLE_DATABASE(Ваше имя) в таблицу "dle_category"

В конец добавить несколько полей с настройками как у полей "short_tpl" и "full_tpl"

Назовем их "cat_block1", "cat_block2", "cat_blockN".

2. Далее если я правильно понимаю нам нужен файл который отвечает за управление категориями

engine/inc/categories.php

а. Нужно добавить поля для ввода имён файлов шаблонов желательно чтобы эти файлы лежали в папке "{templates}\blocks\" с расширением *.tpl

б. по умолчанию будет подключаться пустой шаблон "{templates}\blocks\blank.tpl" в случае если не указано имя блока.

в. при редактировании категории должны работать все операции по удалению изменению заначений имени.

3. И самое главное ради чего это делалось теперь имена файлов с блоками должны браться из значений таблицы "dle_category" нашей базы из строк с именами "cat_block1", "cat_block2", "cat_block2" и содержимое файлов должно выводиться в основной шаблон через теги {cat_block1}, {cat_block2}, {cat_blockN}.

P/S/

Готов заплатить скромную сумму автору который реализует данное решение.

P/S/ 2 согласно правилам

Если ваш сайт находится в локальной сети и вы не можете предоставить ссылку то отправляйте персональное сообщение с вопросом в службу поддержки непосредственно с сайта http://dle-news.ru/, вам ответят на ваш вопрос в персональном порядке

Отписался получил ответ: celsoft не занимается разработкой модулей, а только лишь движка.

Но я думаю, что данная реализация движку не помешала бы.

И я буду рад если она появиться в версии 8.1 ))

А пока пишу сюда за помощью к пользователям форума.

Сайта пока нет движок буду покупать после того как будет реализовано данное решение.

Потому что без данной реализации создать более 1000 разделов используя теги "custom", "avialable", "include file" бессмысленно.

Изменено пользователем MozgFx
Ссылка на сообщение
Поделиться на других сайтах

Написал решение по установке. Сейчас коплю на лицензию 8 как прикуплю напишу.

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

Предисловие: Человек далекий от программирования используя копипаст за пару часов написал этот код.

Поэтому просьба не судить строго.

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

Решил модернизировать блок категорий всвязи с тем, что необходимо на одном сайте создать большое количество категорий.

Решение c тегами "custom", "avialable", "include file" не подходит получиться очень большой файл шаблона.

Что будет добавлено. Добавлять будем поле(по аналогии можно добавить несколько) для ввода блока - HTML код.

Храниться всё это дело будет в базе данных.

Выводиться в шаблон по средством тегов {cat_block1}.

Данные будут браться в зависимости от той категории в которой вы находитесь.

Если не укажите блок то ничего и не будет выводиться.

К сожалению пока не работает для главной страницы.

И так приступим.

1. Сначала добавим в базу данных в таблицу dle_categories

дополнительно столбец cat_block1 (значение поля TEXT)

2. Создадим файл /engine/modules/mod_cat.php

<?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 . ' &raquo; ' . $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 ( '{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. Встречается в коде два раза: После:
<tr>

		<td style="padding:4px;">{$lang['cat_f_tpl']}</td>

		<td><input class="edit" type="text" name="full_tpl" value="{$row['full_tpl']}">.tpl<a href="#" class="hintanchor" onMouseover="showhint('{$lang[cat_f_tpl_hit]}', this, event, '250px')">[?]</a></td>

	</tr>
Добавляем:
<tr id="default_textarea">

		<td style="padding:4px;">Код Блока</td>

		<td><textarea style="width: 400px; height: 200px;" name="cat_block1" >{$row['cat_block1']}</textarea>

		</td>

	</tr>
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}

С уважением,

MozgFx

Если кто поможет раализовать работу даного модуля и на главной странице буду признателен....

Если я косячно написал то исправьте...

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...