[ADD-ON] Simplified & Compacted All-Members page

Здесь авторы могут постить бета-версии своих модификаций для phpBB 3.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
evrus01
Former team member
Сообщения: 1274
Стаж: 15 лет 6 месяцев
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза

[ADD-ON] Simplified & Compacted All-Members page

Сообщение evrus01 »

Есть одна модификация — Simplified & Compacted All-Members page
В описании указано что она выводит на страницу список всех пользователей. И в самом конце автор указал:
Looks especially cool if you have a lot of members.
Что можно перевести, как — выглядит особенно здорово, если у вас много пользователей.
Даже скриншот есть!
скриншот 
Screenshot.jpg
Ну что же действительно круто, не понятно правда зачем.
Решил я немного приукрасить это дело.

Открываем:
allmembers.php
Найти:

Код: Выделить всё

$sql = 'SELECT user_id, username, user_colour
Заменить на:

Код: Выделить всё

$sql = 'SELECT user_id, username, user_colour, user_posts
таким образом мы еще получаем и количество постов пользователей.

Далее после этого запроса мы добавляем две переменные $minSize и $maxSize, а также максимальное значение для user_posts
Найти:

Код: Выделить всё

$result = $db->sql_query($sql);

Добавить после:

Код: Выделить всё

// set min max font-size
$minSize=12; 
$maxSize=24;
// grab max_posts
$sql_max = 'SELECT MAX(user_posts) FROM ' . USERS_TABLE;
$result_max = $db->sql_query($sql_max);
$row_max = $db->sql_fetchrow($result_max);  
$max_posts = $row_max['MAX(user_posts)'];
С помощью переменных $minSize и $maxSize мы сможем задать минимальный и максимальный размер шрифта.

Теперь нам осталось все вывести в шаблон.
Найти:

Код: Выделить всё

// Send variables to template
	$template->assign_block_vars('users', array(
		'USERNAME'	=> get_username_string('full', $row['user_id'], $row['username'], $row['user_colour'])
Заменить на:

Код: Выделить всё

// Send variables to template
	$template->assign_block_vars('users', array(
		'USERNAME'	=> get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']),
		'POSTS'		=> ($row['user_posts']) ? $row['user_posts'] : 0,
		'SIZE'		=> round($row['user_posts'] / $max_posts * ($maxSize - $minSize) + $minSize)
Строка 'SIZE' => round($row['user_posts'] / $max_posts * ($maxSize - $minSize) + $minSize) высчитывает размер шрифта.
Какого опять шрифта спросите вы?

И тут мы переходим к шаблону модификации, где вам все станет понятно:
allmembers_body.html
Найти:

Код: Выделить всё

{users.USERNAME}<!-- IF not users.S_LAST_ROW -->, <!-- ENDIF -->
Заменить на:

Код: Выделить всё

    <span style="font-size: {users.SIZE}px;" title="{users.POSTS} <!-- IF users.POSTS == 1 -->{L_MESSAGE}<!-- ELSE -->{L_MESSAGES}<!-- ENDIF -->">{users.USERNAME}&nbsp;</span>
В итоге мы получили ники пользователей разного размера, в зависимости от количества сообщений, а при наведении нам показывается количество постов.
скриншот 
Все одним списком • EVE-PLAY-202701.png
Стало еще красивей, правда опять не понятно зачем :)
Трепещите сильно не пинайте — моя первая поделка! Гуру, напишите, где у меня явные ошибки?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
romeo_piter
phpBB 2.0.22
Сообщения: 1375
Стаж: 17 лет 5 месяцев
Благодарил (а): 260 раз
Поблагодарили: 32 раза

Re: [ADD-ON] Simplified & Compacted All-Members page

Сообщение romeo_piter »

Поставил. Забавно.
Аватара пользователя
evrus01
Former team member
Сообщения: 1274
Стаж: 15 лет 6 месяцев
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза

Re: [ADD-ON] Simplified & Compacted All-Members page

Сообщение evrus01 »

FEAR93 помог немного исправить код. Изменения внесены в первый пост.
Аватара пользователя
TyMaH
phpBB 2.0.3
Сообщения: 389
Стаж: 15 лет 3 месяца
Благодарил (а): 182 раза
Поблагодарили: 18 раз

Re: [ADD-ON] Simplified & Compacted All-Members page

Сообщение TyMaH »

Поставил себе мод и аддон. Спасибо evrus01!
Правда вначале почему-то не понял эту правку:
evrus01 писал(а):С помощью них мы сможем задать размер шрифта, а какого шрифта я поясню чуть ниже.
Далее мы получаем максимальное значение для поля user_posts — оно нам также понадобится чуть ниже.

Код: Выделить всё

$sql_max = 'SELECT MAX(user_posts) FROM ' . USERS_TABLE;
$result_max = $db->sql_query($sql_max);
$row_max = $db->sql_fetchrow($result_max);  
$max_posts = $row_max['MAX(user_posts)'];
Не внес ее, ибо выражение "она нам понадобится чуть ниже" не воспринял как "add after" , а как пояснение команд ниже.
Изображение
Аватара пользователя
evrus01
Former team member
Сообщения: 1274
Стаж: 15 лет 6 месяцев
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза

Re: [ADD-ON] Simplified & Compacted All-Members page

Сообщение evrus01 »

Пофиксил инструкцию. Я просто пояснения давал и действительно был момент, который можно было двояко толковать.
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: [ADD-ON] Simplified & Compacted All-Members page

Сообщение Пчелкин »

Абалдеть то !!! Щас полезу...

Добавлено спустя 59 минут 1 секунду:
Классно получилось то! Плюс Еврусу!!! Не...пять плюсом..
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
clubforum
phpBB 2.0.0
Сообщения: 216
Стаж: 14 лет 11 месяцев
Благодарил (а): 57 раз
Поблагодарили: 3 раза

Re: [ADD-ON] Simplified & Compacted All-Members page

Сообщение clubforum »

Пчелкин писал(а):Классно получилось то! Плюс Еврусу!!! Не...пять плюсом..
Присоединяюсь, классно!

Вернуться в «Бета-версии модов для phpBB 3.0.x»