Как подключить tpl файл dle
Я штук 20 архивов шаблонов скачал, а там внутри файлы с расширением .*tpl, и не пойму что надо делеть, скачивал *.html, всё норм, а тут ваще без вариантов.
Ну а какие по-Вашему должны быть файлы шаблонов движка DataLife Engine? tpl и должны. И не пугайтесь сильно, пожалуйста - от html файлов tpl файлы отличаются тем, что в tpl файлы шаблона вставляются специальные теги для подключения в шаблон модулей Dle. Во всем же остальном tpl файл напоминает обыкновенный HTML код. Содержимое tpl файла в основном состоит из html, css, javascript и иногда небольших вставок php кода. Все оформление Dle сайта находится как раз в tpl файлах шаблона Dle.
Для начала Вам надо понять, за что отвечает каждый из имеющихся основных tpl файлов:
addcomments.tpl - отвечает за работу вывода формы для комментариев. Выводит форму, в которую пользователем пишутся комментарии, а так же поля имени и e-mail, если пользователь не был авторизирован на сайте.
feedback.tpl - отвечает за вывод обратной связи. Выводит поля для заполнения обратной связи и так же отвечает за оформление обратной связи.
info.tpl - оформления страницы ошибок. Его можно увидеть, например, при неправильной авторизации.
informer.tpl - отвечает за оформление информера Dle.
login.tpl - файл отвечающий за авторизацию на Dle сайте. Выводит форму для авторизации, а так же панель управления, если пользователь был авторизирован.
lostpassword.tpl - отвечает за вывод страницы восстановления пароля, если пользователь забыл пароль. Выводит форму для логина и email пользователя, пытающегося восстановить пароль.
main.tpl - главный файл шаблона. От него зависит подключение всех служб шаблона Dle, плюс все основное оформление сайта формируется именно в этом файле. В этот файл чаще всего подключают дополнительные файлы tpl.
navigation.tpl - отвечает за оформление и вывод постраничной навигации на сайте.
offline.tpl - выводит страницу с данным шаблоном, в случае отключения администратором сайта по техническим или иным причинам.
Защита tpl файлов
Подскажите пожалуйста как защитить файлы шаблона от прямого вызова ?
Ошибки в файлах шаблонах header.tpl, footer.tpl
При установке нового шаблона появились косяки, а именно появились ошибки в файлах шаблонах.
Подключение заголовочных файлов и файлов реализации
Здравствуйте,при создании класса в visual studio руками не компилится проект,при создании через add.
Второй маин не подходит (2-ая главная страница) maxvel0007, честно как я не пытался понять так и не понял что вам нужно сделать. шаблон подключается так:
в нем вы можете прописывать любой нужный текст. либо создайте статическую страницу, напишите нужный текст, сделайте копию static.tpl и переименуйте ее например в example.tpl. При редактировании страницы выберите шаблон example.tpl maxvel0007, честно как я не пытался понять так и не понял что вам нужно сделать. шаблон подключается так:
в нем вы можете прописывать любой нужный текст. либо создайте статическую страницу, напишите нужный текст, сделайте копию static.tpl и переименуйте ее например в example.tpl. При редактировании страницы выберите шаблон example.tpl Давайй представим как выводится stats.tpl При его открытии выводит только то что в нём написанно и всё, мне нужено вывесть так же вывести ststs.tpl только уже не 2 вариант. Как бы 2 статистики но во второй не фифа не статистика ))
maxvel0007 , это не вы писали загадочный , полный загадок и неясностей сценарий сериала Лост ?
maxvel0007 , это не вы писали загадочный , полный загадок и неясностей сценарий сериала Лост ? Возможно, ну я уже не знаю как проще объяснить.Это подключение:
Подключение .c и .h файлов. Си
Собственно нужно подключить в .c файл .h файл. Создал .prj в котором прописал свои 2 файла. Что.
подключение файлов
Объясните для новичка пожалуйста :wall: Я хочу сделать верх сайта, низ (футер) и менюшку на все.
Подключение файлов
Здраствуйте! Проблема заключается в том, что при чтении файла формата .txt файл читает но вместо.
Подключение файлов .js
Ребята помогите пожалуйста стаким вопросом: Суть проблемы. есть 2 файла HTML и 2 файла .js Из.
Здравствуйте,
Предлагаю статью о tpl файлах шаблона DataLife Engine. Статья поможет пользователям, которые еще довольно мало знакомы с шаблонами Dle, с файлами расширения .tpl в частности. Статья поможет разобраться в чем их основное предназначение и как с ними работать.
Люди которые хорошо знакомы и не очень с HTML и CSS легко освоят работу с файлами, редактировать и понимать шаблоны dle.
Итак начнем в DataLife Engine состоящий из шаблонов с расширением *.tpl есть стандартные и обязательные файлы шаблонов , которые должны там присутствовать. При отсутствии одного из файла система будет сообщать о ошибке, в некоторых случаях интернет-портал не будет работать совсем.
Подробно о каждом файле шаблона DataLife Engine
Новый: attachment.tpl (подробно attachment.tpl теги оформления) — служит для качественного оформления ссылок Скачивание файлов. Раньше, чтобы добавить стили, анимацию или скачивание файлов с таймером сайта, нужно было лезть в скрипты платформы и редактировать код, делать dle хаки, сейчас всё можно редактировать в attachment.tpl шаблоне.
Новый: categorymenu.tpl (подробно categorymenu.tpl теги оформления) — файл предназначен для настройки меню переходов и ссылок разделов, категорий и подкатегорий, если включить в ПУ функцию буде подсчитывать и выводить количество новостей в категории, можно управлять разными другими параметрами, данные меняются сразу же.
Новый: frame.css — стили фрейма, понадобиться вашей площадке, если вы в публикации используете код HTML (тема веб-разработки), программирования и скрипты, чтобы отделить символы от простого текста, они будут подкрашиваться различными цветами.
login.tpl (подробно info.tpl теги оформления) — Основной файл оформления формы Авторизации, Админ панели
lostpassword.tpl (подробно lostpassword.tpl теги оформления) — Форма восстановления (при потери) пароля, выводится только для не авторизованных пользователей .
main.tpl (подробно main.tpl теги оформления) — Основной файл оформления главной страницы вывода информации блога DLE, к которому подключаются остальные шаблоны.
navigation.tpl (подробно navigation.tpl теги оформления) — Шаблон оформления перехода по страницам, постраничная навигация.
poll.tpl (подробно poll.tpl теги оформления) — Форма вывода голосования на сайте.
profile_popup.tpl (подробно profile_popup.tpl теги оформления) — Всплывающее модальное окно при включенном AJAX скрипте, которое выходит при выборе логина пользователя мышкой. Отвечает за оформление POP-Up окна с краткой информацией о пользователе.
registration.tpl (подробно registration.tpl теги оформления) — Форма регистрации нового пользователя после принятия правил выдает анкету с полями для заполнения и регистрации.
ПС.Правила интернет-портала находятся в статической странице, и не присутствуют в данном шаблоне.
relatednews.tpl (подробно relatednews.tpl теги оформления) — блок оформления Вывод похожих новостей .
rss.tpl (подробно rss.tpl теги оформления и предназначение) — Шаблон RSS трансляция новостей. Внимание! Файл не находится в папке шаблонов, а расположен в следующей директории templates/rss.tpl, предназначен для настройки вывода RSS потока вашего сайта.
search.tpl (подробно search.tpl теги оформления) — Выводит страницу простого поиска по веб-ресурсу, куда входит поле для заполнения и кнопки Поиск и Расширенный поиск.
searchresult.tpl (подробно searchresult.tpl теги оформления) — страница оформления результата поиска, а также при выборе Расширенный поиск выводит поля для заполнения.
speedbar.tpl (подробно speedbar.tpl теги оформления) — файл выводит полную ссылку на категорию в которой опубликована новость, и отвечает за быстрый переход в нужный раздел (хлебные крошки).
static.tpl (подробно static.tpl теги оформления) — отвечает за оформление и вывод статических страниц созданных в админпанеле.
static_print.tpl — Применяется для оформления статической страницы Версия для печати
stats.tpl (подробно stats.tpl теги оформления) — оформление Статистики сайта, показывает всю подробную информацию, количество страниц, пользователей, рейтинг и т.д.
userinfo.tpl (подробно userinfo.tpl теги оформления) — страница профиля пользователя, где можно редактировать данные о себе, дату, время и местоположение, логин и т.д.
vote.tpl (подробно vote.tpl теги оформления) — блок выводит результаты голосований, как Все опросы или Всего проголосовало.
На данный момент перечислены основные tpl файлы шаблона Dle, с выходом новых версий возможны изменения и добавления новых шаблонов TPL для движка DataLife Engine .
Помимо основных шаблонов TPL в DLE, любой пользователь может добавить свои для удобного оформления, улучшения и установки сторонних модулей на вашем сайте.
Например :
leftblocks.tpl (левый блок) в который добавляются элементы оформления.
Помимо такой вставки есть ещё вариант подключения коротких новостей с помощью шаблонов например:
shortstory-1.tpl Короткая новость в который добавляются элементы оформления. Пример вставки:
Также в шаблонах присутствую стандартные папки :
dleimages — (для картинок оформления рейтинга, закладок, водяного знака и т.д.)
images — (для изображений оформления шаблона. может иметь разное название )
js — (папка скриптов JS и т.д.)
style — (папка с файлами каскадов стилей для оформления шаблонов)
Файл .htaccess можно скачать из шаблона дистрибутива движка DataLife Engine
Внимание! Во всех папках шаблона, должен быть файл .htaccess
В самом шаблоне, должен быть следующий код: .htaccess
Во всех этих папка файл .htaccess дожен быть со следующим кодом:
css/
dleimages/
images/
Внимание! Скрипты обязательно должны находиться в папке JS, в котором должен быть файл .htaccess для защиты от разного рода угроз, если такого файла не будет скрипт не запустится (сработает система защиты системы).
Добавлена новая папке: modules/.htaccess
В папку modules/ вы можете загружать dle плагины и другие сторонние модули, файлы с расширением *.TPL, чтобы подключать, как вам нужно и на любых страницах, если данное действие разрешено системой. Впрочем, назвать эту папку можно, как хотите, главное указать потом, в теге правильно её название.
Вы найдете всю информацию по тегам и многое другое!
Рекомендуем полезную статью dle cms, подробно о файлах Dle шаблоны *.tpl их предназначение
Вкратце рассказываем о DataLife Engine, а также пошагово разбираем процесс установки движка на сервер от и до (на примере технологий, доступных для клиентов Timeweb).
Что такое DataLife Engine
Это CMS, система управления сайтами. Наподобие WordPress или Joomla (о них, я думаю, вы должны были слышать, если читаете эту статью).
DLE разрабатывалась для управления новостными порталами и ресурсами, близкими к ним по характеристикам и аудитории. Тем не менее со временем эта CMS обросла десятками новых функций, что сделало ее пригодной для использования на разного рода развлекательных порталах. На ее базе замечены торрент-трекеры, сайты, посвященные видеоиграм, и даже ресурсы, на которых можно посмотреть потоковое видео (т.е. стриминговые платформы).
По итогу имеем универсальную CMS, которая по своим возможностям не уступает конкурентам.
Плюсы и минусы DLE
Из преимуществ DLE стоит выделить:
- Большое количество инструментов для оценки и комментирования контента. Это ускоряет развертывание информационных ресурсов любого масштаба.
- Высокая производительность. DataLife Engine потребляет меньше ресурсов, чем WP или Joomla. На ней проще развернуть ресурсоемкий сайт, даже имея на борту сервера скромное «железо».
- Эта система управления контентом по умолчанию оптимизирована под продуктивное взаимодействие с поисковыми ботами. Не нужны дополнительные SEO-плагины.
Картину портят два недостатка, пугающие многих потенциальных пользователей:
Если минусы DataLife Engine вас не пугают, то перейдем непосредственно к теме статьи.
Устанавливаем DataLife Engine на хостинг
Поговорим об установке DLE на виртуальный хостинг Timeweb.
Скачиваем CMS
Дистрибутив с установочными файлами Datalife Engine лежит на официальном сайте разработчиков.
Загружаем установочные файлы на хостинг
Через панель управления (на примере Timeweb)
В некоторых хостингах есть встроенный файловый менеджер. Можно загрузить дистрибутив DLE через него. В случае с Timeweb это делается следующим образом:
Через FTP-клиент
Можно использовать протокол FTP, если так проще.
- Проверяем, работает ли FTP на стороне хостинга.
- Запускаем FTP-клиент.
- Вводим данные для подключения по протоколу FTP. Обычно они указываются в панели управления хостингом.
- Затем переносим содержимое папки upload (из дистрибутива) в корневую директорию на сервере.
Файлы почти готовы.
Выдаем себе права на изменение файлов дистрибутива
Для продолжения установки нужно скорректировать права доступа на чтение и запись установочных файлов.
С помощью файлового менеджера Timeweb
- Открываем папку public_html.
- Выделяем директорию templates (кликнув по ней мышью).
- Затем нажимаем на кнопку «Файл» в верхней части интерфейса.
- В выпавшем меню выбираем пункт «Права доступа».
- Устанавливаем права с помощью числового значения 777.
- Повторяем те же действия для директорий backup и uploads.
С помощью Filezilla
Устанавливаем DLE
После загрузки необходимых файлов на сервер и переноса их в нужную директорию, переходим к инсталляции CMS. Для этого:
На этом все. DLE должна работать.
Устанавливаем DataLife Engine на VDS
Есть три подхода к установке CMS на выделенные серверы.
- Через панель управления хостинга, если он поддерживает выбранную систему управления сайтами.
- Вручную с помощью командной строки. На тот случай, если провайдер не поддерживает автоматизированную установку DLE.
- Вручную с помощью сторонней панели управления. Например, ISPmanager или Plesk. То же самое, что и предыдущий метод, но в графическом интерфейсе.
Так как VDS Timeweb по умолчанию не поддерживает DataLife Engine (а это справедливо для многих провайдеров), будем рассматривать только два последних способа. Также отдельно отметим, что перед началом работ по инсталляции DLE надо создать на своем сервере рабочий домен, к которому будут привязаны файлы сайта.
Через панель управления ISPmanager
Берем в пример ISPmanager как относительно популярную и востребованную панель управления. Она идеально подходит для решения поставленной задачи.
Создаем базу данных
Без нее ни одна CMS работать не будет. К ней будет обращаться DLE.
- Переходим к боковой панели ISPmanager.
- Кликаем по меню «Инструменты».
- Выбираем подменю «Базы данных».
- Нажимаем на кнопку «Создать».
- Указываем параметры новой базы данных: название (любое), тип сервера MySQL, стандартную кодировку UTF-8. Создаем нового пользователя, выдаем ему любое имя и придумываем пароль (он должен содержать символы в разных регистрах, чтобы было сложнее взломать базу данных).
- Кликаем по кнопке OK, чтобы сохранить внесенные в БД изменения.
Загружаем CMS
Дистрибутив скачиваем так же, как в случае с виртуальным хостингом. А после этого слегка меняем алгоритм действий:
- Открываем ISPmanager.
- Переходим в меню «Система».
- Затем открываем подменю «Менеджер файлов».
- Ищем вверху кнопку «Закачать» и кликаем по ней.
- Выбираем файл с жесткого диска и нажимаем на кнопку OK, чтобы загрузить дистрибутив CMS на сервер.
Переносим установочные файлы в корневой каталог
В чистом виде дистрибутив использовать не получится. Найденные в нем компоненты надо перенести из архива в основную директорию своего ресурса.
- Выбираем (выделяем, кликнув по нему левой кнопкой мыши) архив в каталоге ISPmanager и жмем по кнопке «Извлечь» в панели инструментов.
- Указываем каталог, в который его нужно распаковать. Можно прямо туда, куда он был загружен.
- В директории, куда был распакован дистрибутив, ищем папку upload и открываем ее.
- Выделяем все компоненты DLE и выбираем «Копировать» в панели инструментов.
- Указываем корневой каталог сервера.
Убедитесь, что у вас есть права на редактирование выбранных файлов и папок. Должны быть 755 и 644 соответственно.
Через командную строку
Если у вас нет графического интерфейса для управления сервером (не хочется тратить на него деньги или просто не хочется лишнее ПО ставить), но установить стороннюю CMS надо, то можно все сделать через командную строку. Это не особо сложно. Главное, обладать базовыми навыками работы с терминалом.
Перед началом не забудьте прописать доменные имена в файле hosts и корректно указать корневую директорию, где будут храниться основные файлы ресурса.
Подключаемся к серверу
Если у вас Linux или macOS, то включите терминал и введите команду для подключения к серверу по протоколу SSH. Например, в моем случае она выглядит так:
Вам нужно будет сменить адрес на адрес своего сервера. Обычно он указывается в панели управления VDS.
Если у вас Windows, то скачайте программу PuTTY. Введите в ней IP-адрес своего ресурса и кликните по кнопке ОК в нижней части окна приложения.
Чтобы подключиться, придется ввести пароль. Его провайдер обычно отправляет по почте. При вводе он не будет отображаться в терминале.
Установив соединение с VDS, можно переходить непосредственно к настройке и загрузке DLE.
Создаем базу данных
Так же, как и в случае с ISPmanager, нам для начала придется создать базу данных. Разница лишь в том, что создавать мы ее будем собственноручно, без помощи панели управления и каких-либо плагинов. Голый MySQL и вы.
Устанавливаем утилиту mysql с помощью команды со следующим синтаксисом
Затем создаем новую базу данных, введя в терминал
Выдаем права на базу данных вновь созданному пользователю:
Завершаем работу с клиентом MySQL:
Загружаем CMS
После создания БД переходим к загрузке самого DLE. Мы уже это делали это ранее в ISPmanager. Повторим через терминал (командную строку).
Для примера возьмем демо-версию DLE с ограничениями. Ссылка будет указана на нее. Но вы можете загрузить себе полноценный продукт после покупки. Тогда придется скорректировать ссылку под выбранный продукт.
Сначала скачиваем саму систему управления сайтами с официального репозитория с помощью команды
Затем распаковываем загруженные архив командой
А потом перемещаем содержимое папки upload в корневую директорию домена, где будет установлен DataLife Engine:
Убедитесь, что у вас есть права на редактирование выбранных файлов и папок. Должны быть 755 и 644 соответственно. Их можно проверить с помощью команды
Почти готово. Осталось лишь пройти несложный путь установки самой DLE.
На этом все. Процесс инсталляции завершен. Система управления сайтами должна работать и автоматически отображаться при посещении вашего домена. Дальнейшая настройка выполняется уже средствами самой CMS в ее параметрах. То есть визуальную составляющую, права пользователей, функции ресурса и прочие индивидуальные вещи вы будете менять уже в интерфейсе DLE.
Регулярно обновляйте CMS и не используйте шаблоны, нуждающиеся в ручной доработке после установки каждого патча. Так будет проще уберечь себя от взломов и прочих угроз.
В этой статье я постараюсь очень подробно разобрать процесс создания простого модуля для DLE с кешированием и собственными шаблонами. Сначала разберём модуль без шаблона, а после дополним его собственным шаблоном. Итогом статьи будет работоспособный модуль без админки, вызываемый в любом месте сайта через строку подключения.
Вступление
С чего начать?
Конечно же начинать лучше с идеи или исходя из конкретной потребности!
В нашем случаи будем рассматривать необходимость вывода в профиле пользователя в любом месте сайта количество новостей определённого пользователя в определённых категориях.
Таким образом мы уже определили пару переменных, которые будут в нашем модуле - это имя пользователя и id категории.
Естественно результат работы модуля лучше кешировать т.к. лишние запросы в БД нам совершенно не нужны. Так же нам не нужен шаблон модуля, но для примера я приведу код модуля и с шаблоном, т.к. правильное подключение шаблона тоже очень важно и при более или менее сложном модуле экономит много ресурсов за счёт уменьшения кода самого модуля.
Круг задач определён, можно приступать к написанию кода. Вспоминаем что у DLE есть API , и вполне логичным кажется использование готового API для этой задачи, но я крайне не рекомендую вообще его использовать даже (особенно!) в сложных модулях.
Почему не стоит использовать DLE_API
Всё просто - это крайне кривая штука, которая не развивается аж с версии 8.2 (на момент написания текущая версия движка - 10.0 и по сравнению с предыдущей версией пофиксили лишь баг с невозможностью регистрации пользователя через api, никаких доработок не производилось).
Использование dle_api значительно увеличивает расход оперативной памяти, что совсем, совсем не хорошо.
Методы, описанные в dle_api расходятся с оригинальным функционалом.
Общий совет: если вам нужна какой то метод или функция из dle_api - просто скопируйте её в свой модуль.
Возможно моих скромных наработок хватит на набор методов и функций, которые можно будет использовать в дальнейшем, но это тема для отдельной статьи.
Пишем код
Прежде, чем писать любой модуль (кроме файлов, отвечающих за ajax), нужно в обязательном порядке, в самом начале прописать одну строку:
Это не позволит пользователю обратиться к файлу модуля напрямую, а значит он не сможет передать собственные параметры в модуль и взломать сайт через этот модуль. Думаю важность этого момента трудно переоценить, но тем не менее я очень часто натыкаюсь на отсутствие подобной конструкции в коде модуля.
Конфигурация и кеширование
Я решил остановиться на этом моменте подробно, т.к. это один из самых частых вопросов, которые задаются, если человек решил написать свой модуль.
Конфигурацию модуля лучше всего записывать в массив - это даст возможность беспроблемного создания кеша для каждого вызова модуля с разным набором конфигурации, в нашем случаи для каждого пользователя.
Объясню почему. Допустим мы написали модуль, он кешируется, и строка создания кеша выглядит следующим образом:
где:
- $var1.$var2.$var3.$var4 - переменные модуля.
- $myModule - текст, который должен записаться в кеш.
Тут всё замечательно ровно до тех пор, пока не понадобится добавить новую переменную. Как правило автор просто забывает прописать эту новую переменную в строку формирования и получения кеша и потом гадает над причинами неработоспособности или неправильной работы модуля (что негативно сказывается на его психологическом равновесии). Таким образом конфиг модуля лучше писать так:
а строка создания кеша будет такая:
Таким образом нам вообще не придётся лазить в этот код никогда, всё будет происходить автоматом.
Используйте префиксы и суффиксы кеша - это позволит гарантировать автоматическую очистку кеша, а так же позволит (при необходимости) создавать отдельные кеши для разных групп пользователей.
Для наглядности поясню взгляните на картинку:
Текст кеша - это результат работы модуля, который будет записан в кеш, тут всё просто.
ID кеша или его имя - сюда лучше всего передавать переменную $cacheName, о которой писалось выше и переменную $config['skin'] - это для того, чтобы иметь разные кеши для разных шаблонов сайта.
Суффикс кеша - может принимать два значения true или false, если передано значение true, то для каждой группы пользователей будет создаваться свой кеш-файл, это бывает нужно, если разным группам пользователей нужно показывать разный контент.
Универсальная заготовка для модуля с кешем, без шаблона
Учитывая всё выше написанное мы можем создать простую заготовку для модуля, который будет использовать кеш, но не будет в своей работе использовать шаблон. Всего 15 строк кода!
Всё довольно просто, правда?
Запрос в БД и проверки.
Ранее мы определили, что нам потребуется две переменные - имя юзера и id категории, а для выборки нужных значений нам необходимо будет составить запрос в БД.
Заведём две переменные: $userName и $caId - эти переменные будут передаваться в модуль через строку подключения.
Однако для нормальной работы модуля нужно проверять данные (ведь от кривых рук спасения практически не существует).
Небольшое отступление:
Я советую использовать однообразный тип переменных модуля и переменных конфига модуля, т.е.
выглядит гораздо более читабельным, чем
Однако использование нижней черты я не практикую в dle, т.к. разок из-за этого сработал фильтр в dle и модуль не отработал, хотя возможно это лишь единичный случай.
Самая простая проверка - условие if else:
т.е. мы просто проверяем передана ли переменная через строку подключения, если передана (т.е. не пустая) - прогоняем её значение через $db->safesql - это обезопасит нас от "неправильных" логинов пользователей, т.к. значение переменной будет вставлено в запрос к БД.
Переменную $catId фильтровать не нужно, т.к. она кроме как цифрой никак не задаётся и глупо писать что-то другое в строке подключения. Однако должно быть какое-то дефолтное значение, поэтому проверка нужна и её мы можем прописать непосредственно в конфиге модуля:
С переменными разобрались, теперь запрос в БД.
В нашем случаи необходимо всего одно значение из БД и использовать полноценный запрос, а потом его разбирать - не имеет смысла, поэтому мы будем использовать метод super_query, он по умолчанию возвращает одномерный массив.
Наш итоговый запрос будет таким:
Где:
$myConfig['catId'] - id категории.
$myConfig['userName'] - имя пользователя.
ниже пропишем отладочный код:
Вызов модуля осуществляем так:
Если переменные указаны правильно - результатом отладки будет массив с данными, состоящий из одного элемента count
где:
155 - количество новостей у указанного пользователя в указанной категории
Теперь можно вывести результат по нормальному:
Тут следует отметить, что если в кеш будет записан один нолик - dle его не будет "считать кешем" и создаст новый, поэтому нужно писать туда что-то, отличное от нуля.Итоговый код нашего модуля будет таким:
Всего 20 строк кода - и получаем готовое решение конкретной проблемы.
Код модуля вполне рабочий и его можно использовать в реальном проекте, однако приведён этот код для ознакомления с принципами правильного написания модулей для DLE.
На этом можно было бы закончить, но выше я обещал показать код модуля с использованием собственного шаблона.
Универсальная заготовка для модуля с кешем и собственным шаблоном
В целом тот же модуль, что мы написали без шаблона вполне легко перетащить и на "шаблонный" модуль, однако в нашем случаи это не имеет смысла, т.к. модуль выводит всего одну цифру. Собственный шаблон в модуле лучше использовать когда необходимо вывести несколько значений с разным оформлением в разных местах сайта.
Не буду расписывать что к чему, т.к. статья уже и так довольно таки большая, а лучше оставлю два листинга кода, один без комментариев - для использования в качестве заготовки:
А второй с подробными комментариями, для понимания что-к-чему:
Вот теперь пожалуй можно закончить статью!
Если будет время, идея и желание - я постараюсь написать про создание более сложного модуля.
А пока жду ваших вопросов и мнений.
Читайте также: