DataLife Engine > Версия для печати > Модуль UserBox для DLE 10.1

Модуль UserBox будет полезен тогда, когда нужно вывести информацию о каком-либо пользователе в произвольном месте сайта. Например кулинарным сайтам, где нужно вывести информацию об авторе рецепта непосредственно в рецепт или личным (коллективным) блогам.

Возможности модуля:

— Подключение одной строкой.- Вывод данных из профиля пользователя в любом месте сайта, на основе логина пользователя.- Вывод дополнительных полей профиля пользователя (выводятся только те, которые не являются личными).- Возможность использовать собственные шаблоны для вывода информации.- Настраиваемая заглушка-аватар на случай, если у пользователя нет аватара и нужно вывести не стандартную заглушку.- Кеширование результата работы модуля. Кеш создаётся с учётом логина пользователя, дефолтного аватара и используемого шаблона вывода модуля.

Особенности:

— Одна обязательная переменная в строке подключения — &userName. Именно через эту переменную модуль определяет для какого юзера выводить информацию.- Добавляет один запрос на каждого выводимого модулем пользователя. Т.е. если выводить информацию об авторе новости в кратких новостях и на главной странице сайта выводится 30 новостей, которые опубликовали 10 пользователей (по три новости каждый) — то модуль при первом обращении к странице добавит 10 запросов в БД, после чего данные будут браться уже из кеша (при включенном кешировании на сайте). Если на второй странице попадётся пользователь с первой страницы, то запрос в БД на этого пользователя делаться не будет.- Собственные теги для вывода в шаблоне. Отдельные теги сделаны для того, что бы не было конфликтов и для упрощения обработки этих тегов в модуле, что сократило кода процентов на 10-15 точно.- Собственная папка с шаблонами. Так же для удобства использования.- Выводятся не все данные. Т.к. выводить все данные о пользователе не имеет смысла, а так же в целях экономии ресурсов сервера выводятся следующие данные:email — Email пользователяname — Логинnews_num — Кол-во новостейuser_id — ID пользователяcomm_num — Кол-во комментариевuser_group — Группа (форматированный вывод с префиксами и суффиксами)lastdate — Дата последнего посещения сайтаreg_date — Дата регистрацииinfo — Информация о пользователеfoto — URL аватарки (или настраиваемая заглушка)fullname — Полное имяland — Место проживанияicq — Номер ICQДополнительные поляПолный список поддерживаемых модулем тегов приведён в шаблоне userbox/dafault.tpl.

Установка:

1. Распаковать содержимое папки upload из архива в корень сайта, при этом не забывайте переименовать папку THEME в соответствии с названием текущего шаблона сайта.2. В нужном месте любого шаблона сайта прописать:

{include file=»engine/modules/userbox.php?&userName=login»}

где login — логин пользователя.

Готово!Примеры подключения:Вот такой вид блока в полной новости: 1372519300_1372476952_userbox-1-8592416

{include file=»engine/modules/userbox.php?&userName={login}»}

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

{include file=»engine/modules/userbox.php?&userName=this»}

выведет информацию о текущем пользователе, эту конструкцию можно использовать для вывода информации о текущем пользователе вне шаблона login.tpl.

{include file=»engine/modules/userbox.php?&userName=thisNewsId»}

выведет информацию об авторе новости при просмотре полной новости (при этом добавится один запрос). Подобная конструкция нужна на случай вывода вне шаблона полной новости (например в main.tpl). При выводе в шаблоне полной новости используйте

&userName={login}

{include file=»engine/modules/userbox.php?&userName=Бот&template=newtemplate&defAvatar=images/picture.jpg»}

Выведет информацию о пользователе с логином Бот, для вывода будет использован шаблон, лежащий в папке userbox/newtemplate.tpl, при этом если у пользователя нет аватарки (или не задан gravatar в настройках) — будет выведено изображение из папки images/picture.jpg.

Версия DLE: 9.6 — 10.1

Автор: ПафНутиЙ