Inquiries intitle datalife engine панель управления. Настройка движка DataLife Engine. Общие настройки DLE

Были подготовлены и реализованы следующие изменения:

1. В состав дистрибутива включены три абсолютно новых шаблона. Данные шаблоны созданы с использованием HTML5 стандартов. Являются полностью адаптивными, как под декстопные браузеры, так и под планшеты и смартфоны. Также в верстке шаблонов активно использована векторная графика, что обеспечивает их качественное отображение на HiDPI (Retina) дисплеях.

2. Добавлен новый тип дополнительных полей для публикаций: "Загружаемое изображение". При данном типе поля, пользователю предлагается загрузить картинку для данной новости, которая будет выводится потом при показе новостей на сайте. Для данного типа поля вы можете задать такие параметры как ограничения на вес и размер картинки, нужно ли создавать для нее уменьшенную копию, размеры уменьшенной копии, накладывать ли на нее водяной знак. Тем самым с использованием данного типа поля облегчается процесс написания новостей, например, вы можете создать различные типы картинок (постеры, скриншоты и т.д.) и оформить их вывод в шаблоне, а при добавлении новостей останется лишь их только загрузить в один клик.

3. Добавлен новый тип дополнительных полей для публикаций: "Загружаемый файл". При данном типе поля, пользователю предлагается загрузить файл для данной новости, который потом будет скачиваться как вложение. В настройках данного поля вы можете задать расширения файлов, которые допустимы для данного поля при загрузке, а также максимальный вес, загружаемого файла. Тем самым с использованием данного типа поля облегчается процесс написания новостей, например, вы можете создать различные типы файлов, в том числе и картинки непосредственно для скачивания (обои в разных разрешениях) и оформить их вывод в шаблоне, а при добавлении новостей останется лишь их только загрузить в один клик.

4. Добавлен новый тип дополнительных полей для публикаций: "Переключатель "Да" или "Нет"". При написании новостей данный тип поля выводится в виде переключателя "Да" или "Нет" (Включено или Выключено). В качестве значения данное поле выводит "Да" или "Нет" в зависимости от того что было установлено при написании новости. Однако основное назначение данного поля - это управление тегами и . В случае если переключатель был включен, то теги текст выведут соответствующих текст, а теги текст уберут его, и наоборот. Тем самым при помощи данных дополнительных полей вы можете легко управлять выводимой информацией на сайте в шаблонах, применительно к каждой конкретной новости. Например, включать или отключать вывод каких-либо вкладок с описанием на странице, либо организовать вывод галерей со скриншотами или постерами и т.д.

5. Для дополнительных полей новостей, имеющих тип поля "Список" , добавлена возможность создавать отдельные значения, которые отображаются в списке при добавлении публикации, и те, которые отображаются на сайте после выбора пользователем в качестве значений. Для этого при добавлении поля, нужно использовать разделитель "|" в списке значений, например: Yes|Да. При написании новости, пользователю для выбора будет указан пункт Да, а на сайте будет выведено значение поля как Yes.

6. Для дополнительных полей профиля пользователей, имеющих тип поля "Список" , также добавлена возможность создавать отдельные значения, которые отображаются в списке при редактировании профиля, и те которые отображаются на сайте после выбора пользователем в качестве значений. Для этого при добавлении поля, нужно также использовать разделитель "|" в списке значений, например Yes|Да. При редактировании профиля, пользователю для выбора будет указан пункт Да, а на сайте будет выведено значение поля как Yes.

7. Существенно переработан и улучшен режим работы "Использовать как перекрестные гиперссылки" для дополнительных полей новости. В случае если поле имеет данную опцию, то поиск новостей по значению поля производится на основе полного совпадения данного значения у других новостей, а также совпадения именно данного конкретного поля. Например, если раньше вы создавали поле "Год выпуска", и задавали значение 2015, и при этом у вас было другое поле, в котором была, например, загружена картинка, в пути которой также было 2015, то старая система выводила обе новости, т.к. поиск осуществлялся исключительно по вхождению искомого слова. Что приводило к тому что показывались не совсем ожидаемые новости. Теперь же будут показаны только те новости, у которых именно поле "Год выпуска" будет иметь значение 2015. Никакие другие поля и их значения учитываться больше не будут, что позволяет более расширенно использовать дополнительные поля, для организации перекрестного связывания между собой. Например, по году выпуска, актерам, режиссерам и т.д. Новый тип поиска автоматически применяется только для новых добавляемых новостей. Если вы хотите, чтобы и старые существующие новости участвовали в данном поиске, то вам нужно будет в админпанели, в разделе "Перестроение публикаций", запустить перестроение новостей, и тем самым будет создан индекс значений полей и для старых существующих новостей.

8. Для основного шаблона (main.tpl) добавлена возможность вывода в нем дополнительных полей новостей при просмотре полной новости на сайте. Для этого в данном шаблоне вы можете использовать те же теги, что и для вывода дополнительных полей в шаблонах краткой и полной новости. Это теги: текст , текст и

9. Для шаблонов, поддерживающих вывод дополнительных полей новостей , добавлена поддержка новых тегов Текст , которые выводят текст заключенный в них, если значение дополнительного поля совпадает с указанным. А также добавлена возможность использования тегов Текст , которые выведут текст, если значение поля не совпадает с указанным. Где tagname это имя дополнительного поля, а tagvalue это его значение. Например, Мужской пол , данный тег выведет текст "Мужской пол" , если значению поля test будет установлено "m" при написании публикации. Это открывает большие возможности по созданию различных оформлений шаблонов в зависимости от значений полей, установленных при написании этих публикаций. Например, создав поле с типом "список", можно в зависимости от выбранного пункта, применить различное оформление.

10. Улучшено отображение дополнительных полей при быстром редактировании публикаций на сайте, для этого добавлены дополнительные вспомогательные классы CSS для формы редактирования, которые можно использовать для оформления полей при быстром редактировании.

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

12. Добавлена поддержка смайлов для HiDPI (Retina) мониторов. Для этого используется две копии смайлов, в обычном разрешении, и в высококачественном. В случае если монитор имеет обычную пиксельную плотность, то на нем выводится обычный смайлик, если монитор имеет HiDPI (Retina) плотность, то выводится его высококачественная копия. Определение и использование смайлов происходит в автоматическом режиме. Для этого вам нужно разместить в папке со смайлами две копии смайлика, например, с именем smile.gif для обычного смайла и [email protected] для HiDPI (Retina) смайла. В случае если копия смайла в высоком разрешении отсутствует, то будет использоваться во всех случаях вывод обычного смайла.

13. В состав дистрибутива включено 60 новых смайлов. Все они имеет поддержку HiDPI (Retina) дисплеев.

14. Добавлена автоматическая поддержка смайлов в формате.png. Поддержка осуществляется также в автоматическом режиме. Для этого нужно просто скопировать файлы в папку со смайлами с расширением.png и указать имя смайлика в настройках скрипта.

15. Добавлен новый глобальный тег:

{customcomments id="1,2,5-8" category="2,3,5-8" author="x" days="x" template="custom" available="global" from="0" limit="10" order="date" sort="desc" cache="yes"} который позволяет выводить комментарии в любом месте сайта в пользовательском формате. Данный тег является вспомогательным дополнительным выводом комментариев, и может, например, использоваться для вывода последних комментариев на главной странице сайта в блоке и т.д.

Данный тег может принимать следующие параметры:

id - список ID комментариев, которые вы хотите вывести, разделяются запятой без пробелов. Также вы можете указывать диапазон ID комментариев при помощи тире. Например, 1,4-8,11 выведет комментарии c ID 1, комментарии имеющие id c 4 по 8, а также с ID 11.

category - список ID категорий новостей, из которых производить выборку комментариев, разделяются запятой без пробелов. Также вы можете указывать диапазон категорий при помощи тире. Например 1,4-8,11 выведет комментарии из категории 1, категорий имеющих id c 4 по 8, а также из категории 11.

categoryexclude - полностью противоположен параметру category="список категорий" и позволяет вывести комментарии, новости которых не принадлежат указанным в параметре категориям. Например, {customcomments categoryexclude="2,7"} выведет все комментарии у новостей, которые не принадлежат категориям и id 2 и 7.

author - указывает логин автора комментария, при указании данного параметра будут выводится только комментарии указанного автора. Допускается перечисление через запятую нескольких авторов. Например, тег {customcomments author="admin" limit="5"} выведет 5 комментариев автора с логином "admin".

authorexclude - указывает логины авторов, которые необходимо исключить из показа. Логины авторов в данном параметре также можно перечислять через запятую. Например, при использовании {customcomments authorexclude="admin,test"} будут выведены комментарии всех авторов, кроме авторов с логином "admin" и логином "test".

days - указывает временной период, где x это количество дней, за которые выводить комментарии. Например, тег {customcomments days="2" limit="5"} выведет 5 комментариев за 2 последних дня.

template - файл шаблона который будет использоваться при выводе комментариев в данном случае это будет custom.tpl если вы используете на сайте несколько шаблонов, то данный файл должен присутствовать в каждом шаблоне. В данном шаблоне используются теги аналогичные тем, что вы используете в шаблоне вывода комментариев (comments.tpl).

available - указывает раздел сайта, в котором будут выводится запрашиваемые комментарии. Вы можете комбинировать разделы при помощи "|", например, available="userinfo|register|main" будет выводить ваши комментарии на главной, при регистрации и при просмотре профиля пользователя.

from - указывает номер комментария с которой начнется вывод. Нумерация комментариев начинается с нуля. Например, если вы хотите пропустить первый комментарий, который совпадает с вашими условиями, то нужно указывать from="1"

limit - указывает сколько комментариев будет выведено.

order - указывает критерий сортировки комментариев, может принимать следующие значения:

date - сортировка комментариев по дате, например, тег {customcomments order="date" limit="5"} выведет пять последних комментариев.
rating - сортировка комментариев по рейтингу, например, тег {customcomments order="rating" limit="5"} выведет пять самых рейтинговых комментариев.
rand - сортировка комментариев в случайном порядке, например, тег {customcomments order="rand" limit="5"} выведет пять комментариев в случайном порядке.

sort - указывает порядок сортировки комментариев. При использовании значения desc публикации сортируются по убыванию, а при использовании asc по возрастанию.

cache - принимает значения yes или no и указывает кешировать вывод или нет, мы рекомендуем кешировать блоки данного вывода для снижения нагрузки на сервер.


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

16. Для шаблонов вывода комментариев (comments.tpl) {comment limit="X"} , который выводит текст комментария без HTML форматирования, при этом сам текст комментария сокращается до указанного "x" количества символов. При этом сокращение текста происходит до последнего логического слова, а не обрывает текст на середине слова. Данный тег будет полезен при использовании пользовательского вывода комментариев, с использованием тега {customcomments ...} , когда нужно вывести не весь комментарий целиком, а только его анонс.

17. Для шаблонов вывода комментариев (comments.tpl) добавлена поддержка нового тега {news-link} , который выводит URL новости, которой принадлежит данный комментарий. Данный тег будет полезен при использовании пользовательского вывода комментариев и при показе последних комментариев.

18. Для шаблонов вывода комментариев (comments.tpl) добавлена поддержка нового тега {news-title} , который выводит HTML безопасный заголовок новости, которой принадлежит данный комментарий. Данный тег будет полезен при использовании пользовательского вывода комментариев и при показе последних комментариев.

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

20. Добавлена возможность продвижения пользователей из одной группы в другую, по прошествии определенного количества дней с момента регистрации на сайте. Для этого в настройках групп добавлена соответствующая настройка, где вы можете указать, через сколько дней и в какую группу перевести пользователя после его регистрации. Тем самым открываются новые возможности по предоставлению пользователям каких-либо прав или привилегий на сайте.

21. Добавлена возможность продвижения пользователей из одной группы в другую, при наборе им определенного количества новостей на сайте. Для этого в настройках групп добавлена соответствующая настройка, где вы можете указать, сколько новостей необходимо иметь и в какую группу переместить пользователя при наборе им данного количества публикаций. Публикации, находящиеся на модерации, при этом не учитываются. Тем самым вы можете предоставлять пользователям, которые заслужили определенное доверие какие-либо дополнительные права и преференции.

22. Добавлена возможность продвижения пользователей из одной группы в другую при наборе им определенного количества комментариев на сайте. Для этого в настройках групп добавлена соответствующая настройка, где вы можете указать, сколько комментариев необходимо иметь и в какую группу переместить пользователя им данного количества комментариев. Комментарии, находящиеся на модерации, при этом не учитываются. Тем самым вы можете предоставлять пользователям, которые заслужили определенное доверие какие-либо дополнительные права и преференции.

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

24. Для шаблонов вывода комментариев и персональных сообщений (comments.tpl и pm.tpl) добавлена поддержка форматированного вывода количества комментариев и публикаций пользователя. Например, при выводе количества комментариев 252501 будет выведено 252 501. Что облегчает восприятие больших цифр.

25. Для шаблонов вывода профиля пользователя (userinfo.tpl и profile_popup.tpl) добавлена поддержка форматированного вывода числового рейтинга. Например, при выводе общего рейтинга пользователя +252501, будет выведено +252 501. Что облегчает восприятие больших цифр.

26. Добавлена поддержка нового глобального шаблонного тега: {* Закомментированный код *} . Данный тег предназначен для комментирования кода, все что заключено между "{*" и "*}" будет удалено из шаблона. И будет отсутствовать при выводе на сайте. Данные теги будут полезны разработчикам шаблонов, для отладки той или иной функциональности, когда нужно временно закомментировать ту или иную функциональность. Данный тег является глобальным и может использоваться во всех шаблонах.

27. Добавлен автоматический сброс индекса похожих новостей при изменении количества выводимых похожих новостей в настройках скрипта. Тем самым больше нет необходимости после изменения данной настройки заходить в перестроение публикаций и там делать перестроение кеша похожих новостей.

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

29. Внесены изменения в работу обратной связи на сайте , в случае если пишет незарегистрированный пользователь на сайте. В случае если пользователь не зарегистрирован, то не проводится проверка совпадения введенного им логина с теми, что уже зарегистрированы на сайте. Вместо этого к его введенному имени добавляется префикс "Незарегистрированный пользователь". Тем самым администрация или получатель письма с сайта будет легко видеть, что письмо ему отправил именно незарегистрированный посетитель сайта. А для самого посетителя сайта не будет неудобной обязанности придумывать другое имя, если то имя что он написал, занято зарегистрированным пользователем.

30. Внесены изменения в работу добавления комментариев на сайте , в случае если комментарий пишет незарегистрированный посетитель сайта. Если введенное им имя совпадает с зарегистрированным логином, то к его имени добавляется префикс "Гость". Например, посетитель написал имя "Татьяна", и на сайте уже есть зарегистрированный логин "Татьяна", то комментарий будет добавлен от имени "Гость Татьяна". Тем самым имеется визуальное отличие, что этот пользователь не является зарегистрированным на сайте, а также посетитель сайта избавляется от неудобной обязанности придумывать себе другое имя. Если же такого нет имени среди зарегистрированных, то префикс добавляться не будет.

31. Добавлена поддержка уведомлений о новых комментариях , для комментариев, которые отправляются на модерацию. Ранее уведомления отправлялись только если комментарий публиковался сразу на сайте минуя модерацию администрацией сайта. Теперь уведомления также будут отправлятся после того как администрация сайта проверила комментарий и опубликовала его на сайте.

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

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

34. Для модуля "Перекрестные ссылки" добавлена возможность установки новой опции: "Открывать ссылку в новом окне". Тем самым вы можете устанавливать где вам открывать нужную вам ссылку в этом же окне браузера, или в новом окне браузера.

35. Для массовых действий в модуле "Перекрестные ссылки" также была добавлена возможность назначать ссылкам каким образом открывать данные ссылки, в новом окне браузера или в текущем окне браузера.

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

37. Воспроизведение флеш видео файлов в формате.flv приведено к единому плееру. Теперь для воспроизведения данного видео используется тот же плеер что и для воспроизведения HTML5 видео. Тем самым всё видео на сайте, имеет единый визуальный вид.

38. Для более лучшего и качественного продвижения публикаций в поисковых системах , при просмотре полных новостей, добавлено автоматическое использование ключевых слов из облака тегов, в специально сформированном метатеге для поисковых систем. Подробнее о данном метатеге вы можете прочитать на странице https://support.google.com/news/publisher/answer/68297?hl=ru

39. Улучшена обработка текста, опубликованного в тегах code в парсере новостей. Было исключено какое-либо пересечение публикуемого кода с тегами и фильтрами DLE, что позволяет публиковать в нем исходных код, без какого-либо вмешательства в текст со стороны DLE.

40. Добавлена поддержка копирования аватаров при авторизации на сайте с использованием социальной сети "Одноклассники".

41. Обновлен до актуальной версии визуальный редактор TinyMCE. Помимо исправления ранее обнаруженных ошибок, в данном редакторе было добавлено много других изменений. Внешний вид редактора изменен на более классический для вебсайтов (все функции представлены в виде кнопок, без меню), в нем была улучшена вставка ББ тегов для видео и Youtube и других. В редакторе улучшена вставка и обработка примеров исходных кодов (тега ), добавлена подсветка этого кода непосредственно в редакторе, а также добавлено удобное окно для вставки примеров кодов. В редакторе добавлена подсветка синтаксиса HTML кода, при редактировании исходного кода HTML.

42. Внесены изменения в механизмы формирования карты сайта. В случае если для незарегистрированных пользователей запрещены какие-либо категории для просмотра, то из карты также исключаются эти категории и публикации из этих категорий.

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

44.Добавлена поддержка кодировки utf8mb4 для MySQL сервера версии 5.7.x

45. Исправлена проблема, при которой некорректно работали теги Текст в случае использования их совместно с числами для которых применен форматированный вывод.

46. Исправлена проблема, при которой некорректно выводились новости с использованием тега {custom ...} c параметрами author и catalog, в случае если использовалось несколько тегов на странице одновременно с этими параметрами, с включенном кешировании при этом.

47. Исправлена проблема с цитированием комментариев , которые содержат в себе HTML теги, при использовании стандартного редактора для комментариев. Теперь при цитировании в поле редактора, также вставляются эти HTML теги, а не их HTML сущности.

48. Исправлена проблема с получением писем в кодировке UTF-8 на некоторые типы почтовых сервисов.

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

50. Исправлена проблема, при которой не очищался кеш новости, если она находилась на модерации и редактировалась автором этой новости на сайте.

51. Исправлены обнаруженные и заявленные ранее небольшие ошибки в скрипте.

Были подготовлены и реализованы следующие изменения:


1. Полностью принципиально новая панель управления скриптом DLE. Дорогие друзья, в данной версии скрипта мы хотим вам предоставить полностью обновлённую панель управления скриптом. Данная панель была разработана с использованием всех последних новейших технологий, которые позволяют сделать процесс управления новостями и другими разделами скрипта, более удобными и информативно понятными. Помимо нового современного дизайна, данная панель управления является адаптивной и способной самостоятельно подстраиваться под используемые устройства, тем самым обеспечивается более удобное управление как с использованием десктопного компьютера, так и с использованием планшетов и смартфонов. Учитывая важность таких моментов как мышечная и зрительная память, а также привычка, мы постарались создать новую панель управления такой, чтобы все для вас оставалось на привычных местах, и вам не пришлось затрачивать много времени на освоение и изучение новой панели управления. Мы очень надеемся, что новая панель вам понравится, и вы оцените ее по достоинству. В связи с тем, что в новой панели управления активно используются HTML5 и CSS3 стандарты, мы были вынуждены отказаться от поддержки устаревших браузеров IE, для работы в новой панели вам понадобится IE10 и выше, а также актуальные версии браузеров Chrome, Firefox и Opera.

2. Все javascript файлы административной панели DLE теперь отделены от пользовательской части сайта и работают независимо. Например, если вы захотите самостоятельно обновить библиотеки сайта, например такие как Jquery и Jquery UI, вы можете это делать не опасаясь за совместимость с работой административной панели.

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

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

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

6. Существенно улучшен и переработан модуль редактирования комментариев в админпанели скрипта. Добавлена возможность одиночного удаления комментариев при помощи технологии AJAX, а также добавлена возможность пометки комментария как "Спам" и как следствие автоматического бана спамера и удаления всех его комментариев, и уведомление облачного сервиса о спамере, если это включено в настройках скрипта.

7. Добавлена функция динамической загрузки комментариев по мере просмотра посетителем страницы с полной новостью и чтения им комментариев. Данная функциональность основана на принципе: и применяется с использованием технологии AJAX. Например, вы установили показывать 30 комментариев на каждую страницу, а у новости 100 комментариев, то при заходе на страницу с новостью, для пользователя будет показано первые 30 комментариев, по мере скроллинга страницы вниз и чтения комментариев, по окончании списка комментариев, вместо навигации по комментариям, на страницу будут автоматически подгружены следующие 30 комментариев и т.д. по мере скроллинга страницы, пока не будут показаны все комментарии к новости. Данная функциональность включается и отключается в настройках скрипта.

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

9. Для вывода новостей с использованием пользовательского тега {custom ...} добавлена возможность вывода навигации по страницам. Для этого добавлен новый параметр тега navigation="yes" . При добавлении данного параметра к пользовательскому тегу, будет выводится постраничная навигация по новостям, выводимым данным тегом. Тем самым вы можете осуществлять вывод новостей именно по вашим параметрам и при этом сохранять навигацию по страницам, если новостей по данным параметрами много. Навигация выводится только для страниц сайта, которые поддерживают навигацию для тега {content} , например, главная страница, страницы категорий и т.д. Если же страница не поддерживает навигации, например, вывод полной новости, или статической страницы, то для данного тега навигация автоматически также будет отключена.

10. Для тега пользовательского вывода новостей {custom ...} добавлен новый параметр fixed="without" , который выводит только новости, которые не были зафиксированы при публикации.

11. Обновлен HTML5 плеер до актуальной версии , добавлена поддержка полноэкранного режима в браузере IE11.

12. В модуле перекрестных ссылок добавлена возможность использования ссылок, содержащих в себе URL кодированные символы.

13. Добавлена проверка e-mail пользователя при его смене в профиле на то, находится ли данный адрес или пул адресов в списке адресов, запрещенных администратором к регистрации на сайте. Ранее данная проверка проводилась только при первоначальной регистрации посетителя на сайте.

14. Добавлено указание логина пользователя в e-mail письме , которое отправляется пользователю, в случае смены им своего e-mail адреса в профиле. Данное нововведение будет полезным также администраторам сайтов, в случае если e-mail адрес пытается сменить бот на несуществующий, в результате администраторам приходят письма о недоставке, и они могут видеть кто меняет данные, и соответственно принять меры к данному пользователю.

15. Добавлена удобная система добавления и редактирования дополнительных полей новости в админпанели, имеющих свойство "Использовать как гиперссылки". Теперь можно удалить ненужные значение в один клик.

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

17. Добавлена возможность предосмотра рекламных материалов , добавленных в админпанели при помощи отдельного всплывающего окна.

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

19. В модуле управления перекрестными ссылками в админпанели , добавлена проверка на уже существующие в базе данных ключевые слова. Тем самым избегается появление дубликатов ключевых слов.

20. Для модуля управления перекрестными ссылками добавлена возможность использование множественного склонения слов в пределах ключевой фразы, с указанием склонения для нескольких слов одновременно. Например, вы можете указать для замены фразу Иван(ов|ова|ову) Ива(н|на|ну) Иванови(ч|ча|чу) . А также добавлена возможность комбинирования фразы из нескольких слов, как содержащий склонения, так и не содержащий, например, фраза: Ремон(т|та|ту) мебели .

21. Изменен алгоритм вывода информации при помощи тега {title} в шаблоне вывода похожих новостей (relatednews.tpl ). При использовании данного тега будет выводится полный заголовок новости без его обрезания до 75 символов как ранее.

22. Для шаблона вывода похожих новостей (relatednews.tpl) добавлена поддержка нового тега {title limit="x"} , который выводит заголовок новости, сокращенный до указанного количества в теге X символов. При этом сокращение заголовка производится до завершения логического слова, а не обрывается посередине.

23. Для шаблона вывода кратких новостей (shortstory.tpl) добавлена поддержка новых тегов текст текст , и выводят текст заключенный в данные теги при показе любых по счету новостей, кроме указанных X новостей. Данный тег будет полезен, если вы хотите выводить какие-либо элементы оформления во всех новостях при показе кратких новостей, кроме вышеуказанных. Например, что-либо не показывать в первой по списку новости.

24. Для шаблона вывода комментариев (comments.tpl) добавлена поддержка новых тегов текст , которые является противоположностью уже существующих тегов текст , и выводят текст заключенный в данные теги при показе любых по счету комментариев, кроме указанных

Здравствуйте. Данный топик хочу посветить созданию простейшего модуля для популярной CMS Datalife Engine . В России, как впрочем и в странах СНГ она пользуется достаточно большой популярностью, однако на хабре статей об этой cms почему-то до сих пор нету. Я попытаюсь исправить это недоразумение. В этой статье вы узнаете о том, как сделать простейший модуль для этой CMS, а также познакомитесь со структурой движка.

Введение

Хотелось бы отметить, что система пользуется спросом у сайтов развлекательной тематики. Оно и понятно, система проста в использовании, имеет достаточное количество модулей и шаблонов. Да и почти все нужное есть «из коробки». Однако бывает, что чего-нибудь не хватает. Эту проблему мы постараемся решить.

Почему DLE?

Вы наверняка заинтересуетесь, почему я выбрал именно эту CMS. Ответ простой: достаточно логичная структура самого движка, отделение шаблонов от кода, довольно простой шаблонизатор, опять же довольно логичное размещение всего внутри - легко разобраться что к чему. Плюс к этому система остается относительно легкой и удобной. Она не так функциональна как, например, Друпал, но все же мне она нравится.

Структура

Для начала нам нужно знать кое-что о структуре движка. Нельзя творить на сервере бардак, поэтому мы будем хранить все в своих папках.

Модули для работы движка принято помещать в папку /engine/modules/ .

В папке /engine/inc/ находятся файлы панели администратора.

Начиная с версии 8.х появилось подключать модули прямо в шаблоне. Шаблон находится в папке /templates/имя_шаблона/. В этой папке есть файл main.tpl Это корневой файл шаблона, обычно в нем расположена основная структура шаблона. Обычно модуль можно подключить так:

{include file=«engine/modules/mod_category.php»}

Где mod_category.php – файл, находящийся в категории /engine/modules/. Думаю с этим все понятно, поехали дальше.

Давайте сделаем модуль для вывода последних комментариев с кэшированием. Для этого создадим файл в папке /engine/modules/ и назовем его mod_lastcomm.php Далее я привожу листинг кода этого файла с подробными комментариями.

Код

DATALIFEENGINE". Эта константа определяется в index.php и ее значение TRUE символизирует о том, что файл подключен с помощью include/require, а не просто запущен. */ if(!defined("DATALIFEENGINE")) { die("Hacking attempt!"); } /* Подключаем класс api, для того чтобы нам можно было использовать функции для работы с кэшем. */ include ("engine/api/api.class.php"); /* Пытаемся прочетать информацию, сохраненную в кэше с именем lastcomm. Рекомендую давать осмысленные имена всему тому, что мы сохраняем в кэше. По сути lastcomm – это файл в папке /engine/cache/, а 60 – это время жизни кэша в секундах. В данном случае, если с создания файла прошло больше времени, чем 60 секунд, то нам снова придется лезть в бд. */ $lastcomm=$dle_api->load_from_cache("lastcomm", 60); /* Проверяем – есть у нас кэш или нету. Если нету, то лезем в бд. */ if (!$lastcomm) { /* Собственно запрос в бд. Он выполняется с помощью функции класса $db. Константа PREFIX содержит префикс, указанный при установки cms. Названия столбцов названы вполне нормально, я думаю не нужно объяснять что они делают. Индефикатор запроса заносим в переменную $sql. */ $sql = $db->query("SELECT comments.post_id, comments.text, comments.autor, post.id, post.flag, post.category, post.date as newsdate, post.title, post.alt_name FROM " . PREFIX . "_comments as comments, " . PREFIX . "_post as post WHERE post.id=comments.post_id ORDER BY comments.date DESC LIMIT 0,20"); /* С помощью функции get_row() класса $db считываем последовательно каждую строку из результатов выборки. Информация заносится в массив $row с индексами равными именам полей таблиц */ while ($row = $db->get_row($sql)) { /* Если нужно обрезаем заголовок новости */ if (strlen($row["title"]) > 50) { $title = substr($row["title"], 0, 50)."..."; } else { $title = $row["title"]; } /* Формируем ссылку на профиль пользователя. Аналогично */ $aname=urlencode($row["autor"]); $name= "". $row["autor"] .""; /* Формируем текст комментария и если надо обрезаем его */ $text = htmlspecialchars($row["text"]); if (strlen($text) > 1024) $text= substr($text, 0, 1024)."..."; /* Формируем ссылку на новость. Массив $config содержит все настройки системы. В частности $config["http_home_url"] - это урл домена. */ $newslink = $config["http_home_url"].$row["post_id"]."-".$row["alt_name"].".html"; $hint = "onMouseover=\"showhint("$text", this, event, "");\""; $title = "".stripslashes($title).""; /* Итоговая запись для одного комментария */ $lastcomm.="От $name в новости:
$title

"; } $db->free(); /* Кэшируем полученные данные. Чтобы получше разобраться с функциями кэширования, откройте файл "engine/api/api.class.php" там отлично все закомментировано */ $dle_api->save_to_cache ("lastcomm", $lastcomm); } /* Выводим полученный результат */ echo $lastcomm; ?>

Заключение

Данный код полностью рабочий. И в нем конечно же есть недостатки. Например не проверяется для ссылок - включено ли ЧПУ. Или при переходе по ссылке на профиль пользователя мы попадаем сразу в его профиль, а не на окошечко jQuery с краткой информацией. Вообщем есть что доработать. Но все эти вещи не были включены сюда только по одной причине - не дать запутаться новичку. Также советую проанализировать другие файлы, например topnews.php. Если у вас возникнут вопросы по написанию модулей или вообще по системе - я с радостью отвечу на них.

На этом у меня все, если эта тема кому-нибудь покажется интересной, то я сделаю цикл статей про cms Datalide Engine (DLE).

Ах да, это моя первая статья на хабре, поэтому извините если что не так.

Исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое. Скачать бесплатно .


Дорогие друзья,

Представляем вам новую версию нашего скрипта DataLife Engine v.13.1 NULLED. В данном релизе вас ожидает добавление поддержки автоматического обновления плагинов на новые версии и ряд других улучшений в системе плагинов, добавлены новые возможности для более удобной работы с дополнительными полями, добавлен новый тип рейтинга "Нравится и Не Нравится", улучшенный поиск публикаций в админпанели, и многое другое, об этом и другом читайте подробнее...

Были подготовлены и реализованы следующие изменения:


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


2. Добавлена возможность автоматического обновления плагинов на сайте . Для этого в плагине задается URL для получения информации о наличии новой версии. По данному URL сайт разработчика плагина должен отдавать массив в JSON формате, который должен содержать информацию о актуальной версии плагина, а также ссылку на загрузку актуальной версии плагина. Например, по данному URL должно возвращаться значение {"version":"2.0","url":"https://dle-news.ru/test/test.zip"} . После чего, при проверке обновлений, администратор сайта сможет узнать о наличии новых версий плагина и обновить плагины в админпанели в один клик.


3. Для системы управления плагинами, добавлена возможность указывать количество замен, которые нужно провести, по каждому критерию поиска в файле. Например, вам нужно найти и заменить какой-либо код в файле, который встречается в этом файле несколько раз, вы можете указать сколько раз необходимо заменить данный код. Для замены всех вхождений этого кода, вы можете оставить данный параметр пустым, тем самым замена будет произведена везде, где встречается указанный вами код.


4. Для системы управления плагинами, добавлена возможность автоматического удаления загруженных вместе с плагином в архиве дополнительных файлов, в случае если плагин удаляется с сайта. Для этого в параметры плагина добавляется возможность выбора, удалять дополнительные файлы или нет. Тем самым вы можете самостоятельно решать, необходимо ли зачищать сервер от дополнительных файлов в случае его удаления с сайта, или же их необходимо оставить.

5. Для системы управления плагинами, добавлена возможность использовать в именах папок, находящихся в ZIP архивах, тег {THEME}. При загрузке архива через систему плагинов, данный тег будет заменен на имя используемого шаблона. Например, разместив в архиве файл /templates/{THEME}/test.tpl, ваш файл шаблона будет помещен в используемый на сайте шаблон. Тем самым, при использовании сложных плагинов, которые содержат в себе примеры файлов шаблонов, они могут сразу загружаться в нужную папку, содержащую используемый пользователем шаблон.

6. Для системы управления плагинами, добавлена возможность использовать в действии "Поиск и замена" в строке замены управляющие символы функции preg_replace, такие как \\1 и т.д., что снимает ограничения на поиск и замену некоторых кодов в DLE.


7. Для дополнительных полей, имеющих тип "Изображение" и "Галерея изображений" , добавлена возможность назначать каждому изображению в отдельности, свое персональное описание, которое также используется в качестве HTML атрибута alt, при выводе данных дополнительных полей на сайте.


8. Для дополнительных полей, имеющих тип "Галерея изображений", добавлена возможность изменять порядок сортировки загруженных картинок, просто переместив их мышью. После загрузки изображений вы можете поменять местами изображения по вашему желанию. Также загруженные изображения могут быть перенесены в другие дополнительные поля.


9. Для публикаций и комментариев добавлен новый тип рейтинга "Нравится и Не нравится", который ведет отдельный учет как количества лайков, так и количества дизлайков. Для этого для шаблонов вывода публикаций и комментариев добавлены новые теги: {likes} - который выводит количество лайков, {dislikes} - который выводит количество дизлайков, а также тег текст - который выводит текст, заключенный в теге, в случае если в настройках включен данный тип рейтинга.


10. В настройки профилей пользователей в админпанели, добавлена возможность устанавливать список категорий, в которые данному конкретному пользователю разрешено добавление публикаций. Это позволит, например, журналистам, вести личные рубрики, в которые другие журналисты (или часть из них) не имеют права публикации. Или наоборот - исключить журналиста из конкретной категории новостей, если он, например, в ней некомпетентен.

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


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

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

14. Для облака тегов добавлена возможность использования символов "&" и "#", что позволяет, например, использовать в облаке имена различных брендов, например, "H&M" и т.д.


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


16. В админпанели, в разделе редактирования комментариев, добавлена возможность поиска комментариев по тексту. В данном разделе вы можете произвести поиск необходимых вам для редактирования комментариев, по каким-либо ключевым словам. Тем самым редактирование комментариев становится более удобным.


17. В админпанели, в разделе управления перекрестными ссылками, добавлена возможность для массовых действий над ссылками, устанавливать замену "Только в статических страницах", а также "В статических страницах, новостях и комментариях".

18. Для предосмотра баннеров в разделе управления рекламой в админпанели, добавлено подключение стилей вашего шаблона из файла preview.css. Тем самым вы можете видеть более правильное оформление вашего рекламного кода, в случае если он использует классы из вашего шаблона.

19. Для шаблона вывода кратких новостей (shortstory.tpl) добавлено использование тегов текст , которые выводят заключенный текст в них, в случае если публикации по данным критериям отсутствуют. Тем самым вы можете переназначить стандартное системное сообщение об отсутствии публикаций в каком-либо отдельном разделе сайта, сделав его уникальным, например, для каждого раздела сайта. Также данные теги можно использовать и в шаблонах, которые используются при пользовательском выводе публикаций с помощью тега {custom ...}


20. Для шаблона E-Mail сообщения, которое отправляется при восстановлении забытого пароля, добавлено использование новых тегов: {%losturl%} , который выводит только URL ссылки на сброс и генерацию нового пароля, а также {%ipurl%} , который выводит только URL ссылки на сброс блокировки по IP. Тем самым вы можете отдельно задавать нужное вам оформление в письме данных ссылок, например, в виде кнопок. А также вы можете, например, отказаться от вывода ссылки на снятие блокировки по IP, если не используете эту возможность на своем сайте.

21. Улучшена система удаления категорий в админпанели . В случае если удаляемая категория, содержит в себе подкатегории, которые также подлежат удалению, то все действия для публикаций, которые содержат удаляемую категорию, будут автоматически распространены и на публикации, которые содержат также и удаляемые подкатегории. И к данным публикациям в подкатегориях, будут применены те же действия.


22. Для модуля "Фильтр по: IP, Логину или E-Mail" добавлена возможность добавления блокируемых адресов или логинов, или e-mail сразу целыми списками, а не по одному. Что существенно ускоряет процесс добавления, если у вас уже есть готовый список из того что необходимо заблокировать.


23. Для модуля "Фильтр по: IP, Логину или E-Mail" добавлена возможность редактирования уже существующих правил. Вы можете выбрать и отредактировать любое правило, без необходимости его удаления и повторного добавления.


24. Для модуля "Фильтр по: IP, Логину или E-Mail" добавлена возможность выбора одновременно нескольких или всех добавленных правил, и массовой разблокировки данных правил в один клик.

25. Для модуля "Фильтр по: IP, Логину или E-Mail" добавлена поддержка использования IPv6 адресов, которые можно указать для блокировки доступа на сайт. Также добавлена возможность указания IPv6 подсетей для блокировки.

26. Добавлена возможность указания IPv6 адресов в профиле пользователя , с которых разрешена авторизация для пользователя. Также вы можете указать не только отдельный адрес, но и IPv6 подсеть.

27. Для модуля пользовательской сортировки публикаций на сайте , выводимых тегом {sort} добавлена возможность выставления сортировки для каждой конкретной категории, а не для всех категорий одновременно.

28. Для ссылок, публикуемых в публикациях, добавлена возможность использование в них блочных элементов, таких как "p", "div" и т.д. Что позволяет DataLife Еngine более точно и правильнее соответствовать стандартам HTML5.

29. Добавлена возможность добавления новых пользователей в панели управления DataLife Engine, при работе с панелью с использованием смартфонов.

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

31. Для дополнительных полей, имеющих тип "Перекрестные ссылки" , добавлена возможность использования в значениях символа двойных кавычек, и символа амперсанда.

32. В случае если для шаблона E-Mail сообщения, которое отправляется при восстановлении забытого пароля, установлено использование HTML формата для данного письма, то ссылки, которые генерирует тег {%lostlink%} в этом шаблоне, будут формироваться уже в виде готового HTML кода, а не просто текстовые ссылки.

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

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

36. Лимит на количество символов метатега Description для категорий увеличен до 300 символов . Максимальная длина соответствует теперь максимальной длине, установленной поисковой системой Google, для вывода данной информации в результатах поиска.

37. Улучшен поиск похожих новостей на сайте. Показ похожих новостей стал более релевантным по сортировки найденных публикаций.

38. Улучшена поддержка IPv6 адресов посетителей сайта. В некоторых определенных случаях полный адрес мог не помещаться в базу данных. Теперь длина полей зарезервирована согласно спецификации RFC 4291.

39. Улучшено формирование метатега og:description протокола Open Graph при просмотре полных новостей. Формирование происходит более корректно при использовании в качестве основного контента дополнительных полей для публикаций.

40. Улучшена работа системы безопасности DataLife Engine , с целью более корректной проверки данных на поддоменах, на некоторых хостингах, имеющий структуру поддоменов, в виде подпапок основного домена.

41. Добавлена поддержка протокола tel: для ссылок публикуемых на сайте при помощи BB тегов.

42. Обновлены визуальные редакторы TinyMCE и Froala до актуальных версий . Исправлен ряд выявленных ошибок в данных редакторах.

43. Исправлена проблема, с использованием в дополнительных полях профиля пользователей, полей с типом "Список", в которых использовались значения с использованием символа "|".

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

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

46. Исправлена проблема , при которой нельзя было приступить к обновлению сайта на новую версию, в случае если сайт был в кодировке отличной от UTF-8 при этом логин или пароль администратора содержал в себе буквы, написанные на кириллице.

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

48. Исправлена проблема, при которой не работало редактирование комментариев в панели управления скриптом, в случае если в настройках скрипта был включен TinyMCE редактор.

49. Исправлена проблема , при которой не отображалось количество дней, в течении которых можно добавлять комментарии к публикации, если такие лимиты были установлены в настройках скрипта в админпанели.

50. Исправлена проблема , при которой дополнительное поле, имеющее тип "Загружаемый файл", не отображалось на сайте в виде ссылки на скачивание файла, а выводилось простым тегом.

51. Исправлены обнаруженные и заявленные ранее небольшие ошибки в скрипте.

Привет, друзья. Я почти все свое время уделяю . Так как большинство моих сайтов построены на CMS DLE, то и приходится много работать с этим движком. Я и раньше говорил, что с SEO разработчики не дружат, и вообще такого слова не слышали никогда, но оказалось все еще хуже, чем могло бы быть. Я даже подготовил целую серию постов, посвященных «осеошиванию» народного движка (см. в категории ).

Но сегодня я бы хотел поговорить про такую важную вещь как html карта сайта для DLE. Сколько я не искал в интернете нормальный модуль карты, так и не нашел. Есть, конечно, несколько решений, но все они дают совсем не тот результат, который нужен, а порой даже наносят вред. Пришлось писать модуль самому, а точнее поручить профессионалам реализацию моих «хотелок». Выражаю огромную благодарность Фомину Александру за энтузиазм и невероятную скорость работы.

Модуль карты сайта для ДЛЕ, который я собираюсь вам представить, отвечает всем требованиям seo и предельно прост в установке.

SiteMap – модуль генерации HTML карты сайта для DLE

Оригинальное название: SiteMap
Совместимость с CMS: DLE 8.2-10.6
Распространение: Бесплатно, As Is, при распространении ссылка на источник обязательна
Актуальная версия: 2.2 (от 08.05.2014)
Назначение: Вывод ненумерованного списка со ссылками на все публикации, категории и статические страницы.
Особенности: Визуальный генератор кода для вставки. Детальная настройка принципа вывода всех элементов сайта — новости, категории, статические страницы — количество выводимых элементов, принцип сортировки и порядок сортировки, отображение элементов в виде ссылки или простым текстом, возможность включить/исключить конкретные элементы.

Описание и настройка модуля HTML карты сайта для DLE

Друзья, 3 июня 2012 — это большой день, в свет вышла совершенно новая карта сайта версии 2.0. Мы поднимаем планку удобства использования нашего модуля на новый уровень. Реализованная в система визуальной генерации кода нам (надеюсь, и вам тоже) очень понравилась и мы решили внедрить ее и в модуль карты сайта. Теперь вам не надо читать руководства и описания всех функций и их значений — достаточно зайти в админку, указать несколько значений и все — модуль готов к работе!

Помимо сказанного выше, хочется перечислить еще несколько важных особенностей :

  • модуль полностью кешируется;
  • модуль использует API DLE;
  • в карте не выводятся публикации, не прошедшие модерацию, а так же запланированные на будущее;
  • учитывается наличие/отсутствие ЧПУ, а так же тип ЧПУ;
  • предусмотрена такая тонкость – если кто давно работает с движком ДЛЕ, то помнит, что в ранних версиях вообще не было ЧПУ, а потом оно появилось, но только одного типа (такого же, как сейчас формируется тип 3). Так вот это тоже предусмотрено в данном модуле — новые публикации выводятся с url’ом, тип ЧПУ которого выбран в админке, а старые, соответственно, с url’ом ЧПУ старого типа.

Не смотря на появление визуального генератора, предлагаю ознакомиться с механикой модуля.

Модуль вставляется в шаблон main.tpl с помощью тега:
{include file="engine/modules/sitemap.php?param1=value1¶m2=value2"}

param1= — параметр модуля, value1 — значение параметра. Настройки модуля следуют после знака? и разделены знаком &.

Пример вставки (выводит карту сайта со списком статических страниц и новостями из категорий с id=2,3,4):
{content}
{include file="engine/modules/sitemap.php?show_static=1&need_cats=2,3,4"}

Для того, чтобы карта сайта отображалась на отдельной странице, тег {include ...} необходимо заключить в , а тег {content} заключить в . После этого модуль будет доступен по адресу http://site.ru/sitemap/

После любых изменений параметров и их значений необходимо очищать кеш в админпанели.

Параметры модуля, передаваемые через tpl при вставке:

  • need_cats — список id категорий через запятую для вывода в карте
  • exc_cats — список id категорий через запятую, исключаемых из карты
  • need_news — список id статей через запятую для вывода в карте
  • exc_news — список id статей через запятую, исключаемых из карты
    • данные параметры бессмысленно указывать одновременно
  • need_static — список id статических страниц через запятую для вывода в карте
  • exc_static — список id статических страниц через запятую, исключаемых из карты
    • данные параметры бессмысленно указывать одновременно
  • cats_as_links — показывать названия категорий как ссылки (1 или 0)
  • show_static — отображать в карте статические страницы (1 или 0)
  • cats_sort — поле сортировки списка категорий (поле из таблицы dle_category)
  • cats_msort — направление сортировки списка категорий (ASC или DESC)
  • news_sort — поле сортировки списка статей (поле из таблицы dle_post)
  • news_msort — направление сортировки списка статей (ASC или DESC)
  • static_sort — поле сортировки списка статических страниц (поле из таблицы dle_static)
  • static_msort — направление сортировки списка статических страниц (ASC или DESC)
    • возможны 2 варианта направления сортировки:
      • ASC — по возрастанию (по алфавиту)
      • DESC — по убыванию (в обратном порядке)
    • если поле и порядок сортировки не указаны — используются заданные настройки категорий или стандартные параметры DLE
  • cats_limit — максимальное количество выводимых подкатегорий
  • news_limit — максимальное количество выводимых статей из категории
  • static_limit — максимальное количество выводимых статических страниц

Заметьте, ни одна из приведенных выше настроек не является обязательной , можно вообще ничего не указывать — достаточно просто вставить тег {include file="engine/modules/sitemap.php"} — тогда будут использованы настройки по умолчанию.

Внешний вид и классы стилей карты сайта

Опционально предусмотрено изменение внешнего вида карты сайта, для этого открываем файл стилей (style.css) своего шаблона и прописываем нижеописанные классы.

Перечень CSS классов карты сайта:

Sitemap_categories - элемент