Добрый день. Сегодня расскажу Вам о плагине для DLE 9.7 "Главная категория v1". Это мой самый первый плагин для DLE.
Что он делает: Данный плагин позволяет указать категорию которая будет главной(первой). Выбрать ее можно при добавлении новой новости или в момент ее редактирования. Задается она в независимости от уровня вложенности и сортировки категорий в админке.
Для чего это вообще может потребоваться? Честно скажу: я бы ни когда и не задумался над тем какая категория главная. Мне казалось, что разработчики DLE учли уже это, и новость встает так, как и должна вставать, логически правильно и в нужные разделы.
Итак давайте перейдем к описаю плагина и его функционалу.
Делал я его примерно 2 недели. Состоит он из одного файла *.php и использует в своей работе API DLE.
Делался он для сайта с рецептами: http://menuy.ru/
Как он работает
Я уже это описывал в предыдущей статье, но повторю снова.
Сортировка при добавлении новости:
Если посмотреть на картинку то видно, что категория «Морепродукты (id54)» стоит выше чем «Овощи (id55)». Что же происходит при добавлении новости(рецепта).
Если Вы в момент добавления публикации выберите обе эти категории «Морепродукты (id54)» и «Овощи (id55)».
То скрипт поместит новость в категорию «Морепродукты (id54)», а категория «Овощи (id55)» будет как добавочная.
И если даже Вы в момент добавления выберете их в другом порядке, сначала «Овощи (id55)», а потом «Морепродукты (id54)», то новость все равно будет помещена в «Морепродукты (id54)» потому, что она отсортирована в админке так, что стоит выше. И по этому считается главной.
Как работает DLE 9.7
Разбирая сам механизм работы системы добавления новости я понял понял, что в момент добавления новости в админке или на сайте Вам предлагается заполнить форму добавления новости. Указать заголовок, выбрать категорию, ввести полную и краткую новость.
Вот здесь то и кроется разгадка, DLE при показе данной формы уже считала категории и их порядок сортировки в админке. Затем она вывела их Вам в удобном окошечке для добавления(выбора) категории, но в самом начале оно пустое.
Для выбора категории Вы кликаете и выбираете нужные Вам. И порядок их выбора не имет значения, потому что они вам просто подсвечиваются для Вашего удобства и легкого визуального восприятия, того куда же Вы определите новость.
После нажатия кнопки опубликовать в скрипт addnews.php передается массив catlist[] содержащий ID`ы выбранных категорий и причем массив уже отсортирован.
Что же делает плагин:
Он устанавливает в качестве главной ту категорию которую вы выберете из списка. При добавлении новости или при редактировании.
Как им пользоваться:
1. В момент добавления НОВОЙ новости на сайте или в админке он показывает Вам полный список категорий для выбора. Выбираете любую одну категорию. И жмете кнопку "отправить".
2. В момент редактирования новости в админке, он позволяет Вам установить в качестве главной одну из категорий которые выбраны для текущей новости.
3. Для удаления категорий которые выбраны для новости необходимо очистить список выбора категорий DLE и убрать гл. категорию, выбрав в списке "Гл. Категория". И нажать сохранить.
Скрипт поймет, что не выбрана ни одна из категорий и главная не указана. Он просто отдает работу движку и последний сохраняет в новости пустой набор категорий. Далее вы можете его переназначить по своему усмотрению.
4. Изменить(задать другую) главную категорию можно только на ту которая есть в списке выбора DLE у текущей новости. Если Вы удалите главную категорию в списке выбора DLE то после сохранения новости, плагин вернет ее на место.
Установка плагина
При установке изменения вносятся в три файла:
1. engine\modules\addnews.php — данный файл отвечает за добавление новости на самом сайте не в админке.
2. \engine\inc\addnews.php — данный файл отвечает за добавление новости в админке.
3. \engine\inc\editnews.php — данный файл отвечает за изменение новости в админке.
Затем сам файл плагина копируется в корень сайта.
Но если на Ваш движок не устанавливались плагины. То установка займет 1 минуту.
Достаточно просто будет заменить 3 файла, файлами в поставке с плагином, скопировав их с заменой, а сам плагин кинуть в корень сайта. И все, после этого он автоматом подключится и заработает.
Столь невысокая цена обусловлена тем, что на его разработку ушло время и после продажи я осуществляю поддержку и адаптацию его для будущих версий DLE. Естественно после покупки Вы сможете получать новые версии бесплатно. Достаточно будет просто написать на почту. Или в комментариях.
Также могу по вашей просьбе адаптировать под любую версию DLE начиная с 8.0
Для связи со мной используйте вкладку контакты.
PS: Если по функционалу остались вопросы, то пишите в комментариях. Или на почту.
[tip]22.01.2013: Исправлена ошибка по которой не присваивались категории с ID в которых был ноль. Например 10,20,30 и т.д.[/tip]
Спасибо за модуль, попробую поставить