Здравствуйте. Данный топик хочу посветить созданию простейшего модуля для популярной CMS Datalife Engine . В России, как впрочем и в странах СНГ она пользуется достаточно большой популярностью, однако на хабре статей об этой cms почему-то до сих пор нету. Я попытаюсь исправить это недоразумение. В этой статье вы узнаете о том, как сделать простейший модуль для этой 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 Далее я привожу листинг кода этого файла с подробными комментариями.
На этом у меня все, если эта тема кому-нибудь покажется интересной, то я сделаю цикл статей про cms Datalide Engine (DLE).
Ах да, это моя первая статья на хабре, поэтому извините если что не так.
Были подготовлены и реализованы следующие изменения:
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) добавлена поддержка новых тегов текст , которые является противоположностью уже существующих тегов текст , и выводят текст заключенный в данные теги при показе любых по счету комментариев, кроме указанных
Исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое. Скачать бесплатно .
Дорогие друзья,
Представляем вам новую версию нашего скрипта DataLife Engine v.13.1 NULLED. В данном релизе вас ожидает добавление поддержки автоматического обновления плагинов на новые версии и ряд других улучшений в системе плагинов, добавлены новые возможности для более удобной работы с дополнительными полями, добавлен новый тип рейтинга "Нравится и Не Нравится", улучшенный поиск публикаций в админпанели, и многое другое, об этом и другом читайте подробнее...
Были подготовлены и реализованы следующие изменения:
5. Для системы управления плагинами, добавлена возможность использовать в именах папок, находящихся в ZIP архивах, тег {THEME}. При загрузке архива через систему плагинов, данный тег будет заменен на имя используемого шаблона. Например, разместив в архиве файл /templates/{THEME}/test.tpl, ваш файл шаблона будет помещен в используемый на сайте шаблон. Тем самым, при использовании сложных плагинов, которые содержат в себе примеры файлов шаблонов, они могут сразу загружаться в нужную папку, содержащую используемый пользователем шаблон.
6. Для системы управления плагинами, добавлена возможность
использовать в действии "Поиск и замена" в строке замены управляющие символы функции preg_replace, такие как \\1 и т.д., что снимает ограничения на поиск и замену некоторых кодов в DLE.
11. В настройки профилей пользователей в админпанели, добавлена возможность
устанавливать список доверительных категорий, в которые данному конкретному пользователю разрешено добавление публикаций без модерации. Такая персонализация позволит значительно более гибко разграничивать права, не создавая при этом кучу групп пользователей, в том числе и групп под каждого конкретного журналиста.
13. Для расширенного поиска публикаций в админпанели, в разделе редактирования публикаций, добавлена возможность поиска одновременно по нескольким категориям на выбор.
14. Для облака тегов добавлена возможность
использования символов "&" и "#", что позволяет, например, использовать в облаке имена различных брендов, например, "H&M" и т.д.
18. Для предосмотра баннеров в разделе управления рекламой в админпанели, добавлено подключение стилей вашего шаблона из файла preview.css. Тем самым вы можете видеть более правильное оформление вашего рекламного кода, в случае если он использует классы из вашего шаблона.
19. Для шаблона вывода кратких новостей (shortstory.tpl) добавлено
использование тегов текст
, которые выводят заключенный текст в них, в случае если публикации по данным критериям отсутствуют. Тем самым вы можете переназначить стандартное системное сообщение об отсутствии публикаций в каком-либо отдельном разделе сайта, сделав его уникальным, например, для каждого раздела сайта. Также данные теги можно использовать и в шаблонах, которые используются при пользовательском выводе публикаций с помощью тега {custom ...}
21. Улучшена система удаления категорий в админпанели
. В случае если удаляемая категория, содержит в себе подкатегории, которые также подлежат удалению, то все действия для публикаций, которые содержат удаляемую категорию, будут автоматически распространены и на публикации, которые содержат также и удаляемые подкатегории. И к данным публикациям в подкатегориях, будут применены те же действия.
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. Исправлены обнаруженные и заявленные ранее небольшие ошибки в скрипте.
От автора: приветствую вас, друзья. В этой небольшой обзорной статье мы рассмотрим, как устроена админка DLE, где находится вход в админку DLE и как попасть в админ панель. Как вы понимаете, статья в первую очередь ориентирована на тех, кто только-только начал свое знакомство с CMS DLE.
Итак, вы установили движок DLE на хостинг или локальный сервер. Как теперь попасть в админку DLE? Все просто, для этого достаточно обратиться к главной странице вашего сайта и дописать к адресу строку admin.php, после чего перейти по новому адресу. Например, адрес моего сайта — dle.loc, соответственно, админ панель DLE находится по следующему URL — dle.loc/admin.php
При попытке войти в админку DLE, мы вполне логично увидим форму авторизации, где должны ввести логин и пароль администратора, придуманные нами на этапе установки DLE. Давайте авторизуемся. После успешной авторизации мы попадаем в святая святых нашего сайта — панель управления DLE.
Стоит отметить, что админка DLE построена достаточно логично и интуитивно понятно. Если пытаться сравнивать с админками прочих CMS, то админка DLE будет чуть более сложна, чем админка WordPress, но более проста и понятна по сравнению с админкой Joomla. Внешний вид админ панели DLE также достоин похвалы, работать с админкой довольно приятно и удобно.
В правом верхнем углу мы можем увидеть данные по нашему профилю, где можно изменить E-mail, имя, пароль и прочие аналогичные данные. Также рядом есть доступ к двум наиболее часто используемым функциям при управлении сайтом — добавление новости и Редактирование новостей. Поскольку DLE — это новостной движок, то вполне логично, что функции управления новостей вынесены для удобного к ним обращения.
Давайте попробуем добавить первую новость, или статью, если угодно, на наш сайт. Для этого жмем кнопку Добавить новость и заполняем предлагаемую форму для добавления новости. По сути, нам достаточно указать название статьи, выбрать категорию для нее, а также заполнить краткое и полное описание добавляемой статьи.
Сохраним новость и посмотрим, появилась ли она на главной странице сайта. Статья появилась и это замечательно, поскольку так же легко и просто вы можете добавлять и другие ваши статьи и новости.
Давайте также изменим название сайта. Сделать это можно в разделе Настройки скрипта — Настройка системы. В поле Название сайта впишем желаемое название.
Теперь во вкладке браузера в качестве названия сайта мы увидим то, что нам нужно. Как видим, все действительно удобно, логично и понятно устроено в админке DLE. В следующих статьях мы познакомимся с другими возможностями DLE, ну а на этом текущую статью мы, пожалуй, будем завершать. Если вы хотите познакомиться с DLE поглубже и научиться создавать сайты на этом движке, тогда обязательно обратите внимание на наш курс . Ну а я на этом с вами прощаюсь. Удачи!
Поговорим о меню на сайте dle. Точнее о том, как добавить свои пункты в меню, или же заменить существующие на новые. Довольно часто, у новичков только установивших данную CMS возникает вопрос: «Как заменить стандартные пункты меню, в стандартном шаблоне, на свои?» Если, в wordpress, это можно осуществлять без редактирования кода, то в dle ситуация иная, в код все же придется залезть и немного там разобраться. Однако сложного в добавлении новых пунктов ничего нет, и я надеюсь, сегодня вы сможете в этом убедиться.
Итак, перейдем к делу. Для начала нам понадобится создать пункты, которые в последствии необходимо внедрить в меню dle, будь-то страницы или категории. Для этого заходим в админ панель и жмем на пункт «список всех разделов.»
А далее все зависит от ситуации. Если нам необходимо добавить в меню, ссылку на категорию сайта, то переходим в пункт «Категории», а если же нам нужно создать страницу, на которую будет направлять пользователя пункт меню, то переходим в пункт «Статические страницы». Принципиальной разницы между ними нет, поэтому мы выберем один из двух вариантов, например, «Категории».
Появится форма создания новой категории на сайте. Там все просто. Для чего служит каждое поле формы, см. изображение.
Не все поля, которые описаны на рисунке являются обязательными, а только первое и второе поле. А пункты, которые я не стал затрагивать на изображении вообще не относятся к категориям, а относятся к глобальным настройкам движка, таким как настройки вывода новостей dle , а также предоставляют возможность назначить уникальный шаблон, для каждой категории в отдельности.
После заполнения необходимых полей, как минимум первых двух, нажимаем на кнопку добавить. Это действие создаст новую категорию на сайте, ссылку на которую мы добавим в меню dle. И особое внимание обратите на второе поле, где необходимо было прописать альтернативное имя категории, которое будет составлять адрес, по которому будет находиться категория. В моем примере, он будет выглядеть так: http://сайт.ru/primer_category/
Теперь, перейдем к непосредственному добавлению нового пункта в меню dle.
Для этого, в админ панели нужно перейти в раздел «Шаблоны сайта».
А дальше необходимо выбрать один из двух файлов, если используется стандартный шаблон, в которых прописаны меню на сайте. В стандартном шаблоне имеется два вида меню: это, и горизонтальное и вертикальное. За горизонтальное меню отвечает файл topmenu.tpl, а за вертикальное меню в левой колонке сайта, отвечает файл sidebar.tpl. Оба этих файла можно найти в левой колонке раздела «Шаблоны сайта». А при клике на один из них, в правой колонке появится сам код данного файла.
После открытия файла, нам необходимо исправить любой существующий пункт на наш. То есть, изменить название, в данном случае на название категории. И подставить ссылку на саму категорию (альтернативное имя), вместо #. То есть если я заменю пункт «О сайте», то код меню станет выглядеть так:
По аналогии изменить можно и остальные пункты в меню. Что касается второго, горизонтального меню, то там ситуация абсолютно такая же. И естественно все лишнее, что вам не нужно, можно удалить. И конечно же, сохранить отредактированный файл.
Если вы в чем-то не уверены, например, что удалите что-то лишнее, то просто сделайте , чтобы в случае непредвиденных ситуаций его можно было восстановить.
А у меня на этом все.