Last active
August 29, 2015 14:23
-
-
Save pafnuty/0f419444b41c7e0c1f54 to your computer and use it in GitHub Desktop.
Вывод информации об авторе новости через BlockPro 4
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{* | |
$block_id - это уникальный идентификатор блока (у блоков с разными настройками он разный) для того, | |
что бы правильно организовать постраничную навигацию на ajax. | |
*} | |
<div id="{$block_id}"> | |
{* Массив с логинами авторов новостей *} | |
{set $users = []} | |
{* Заполняем массив логинами *} | |
{foreach $list as $key => $el} | |
{set $users[] = $el.autor} | |
{/foreach} | |
{* Получаем нужные данные из таблицы пользователей *} | |
{* | |
Первым параметром модификатор принимает массив с логинами пользователей. | |
Вторым параметром поля, которые требуется вернуть, чем больше полей, | |
тем тяжелее запрос, не забывайте. | |
Если второй параметр не указать — будут возвращены все данные о пользователе, кроме пароля. | |
На выходе получим массив, ключами которого являются логины, а значениями — массив данных о пользователе. | |
Это сделано для экономии ресурсов сервера, | |
ведь на странице может быть несколько новостей одного автора и не имеет смысл дёргать одного автора несколько раз. | |
*} | |
{set $arUsers = $users|getAuthors:'email, user_id, news_num, comm_num, foto'} | |
{* Удалем ненужную переменную *} | |
{unset $users} | |
{*Пробегаем по массиву с новостями*} | |
{foreach $list as $key => $el} | |
<p>{$el.title}</p> | |
{* | |
Выводим информацию об авторе новости в каждой новости | |
Нам заранее известен логин пользователя и известно, | |
что логин является ключом, поэтому будем обращаться к массиву, | |
полученных ранее пользователей, по ключу. | |
*} | |
<p>email: {$arUsers[$el.autor].email}</p> | |
<p>user_id: {$arUsers[$el.autor].user_id}</p> | |
<p>news_num: {$arUsers[$el.autor].news_num}</p> | |
<p>comm_num: {$arUsers[$el.autor].comm_num}</p> | |
<p>foto: {$arUsers[$el.autor].foto}</p> | |
{/foreach} | |
{$pages} | |
</div> <!-- #{$block_id} --> | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment