Topic: Картинка для каждой группы
У меня тут еще вопрос, просто я новичок в PunBB перешал с XF.. Так вот, как можно сделать так же:
Чтобы статусы "Онлайн/оффлайн" и каждой группе своё изображение
You are not logged in. Please login or register.
У меня тут еще вопрос, просто я новичок в PunBB перешал с XF.. Так вот, как можно сделать так же:
Чтобы статусы "Онлайн/оффлайн" и каждой группе своё изображение
Есть ссылка, где можно было бы посмотреть вживую. Мне понять структуру HTML & CSS .
Я думаю, что все это реально.
Скажите, вы переносили свой форум с XF на PunBB, или создали новый?
PunBB, games.myfabis.ru/forum (не реклама)
$matches[1]
PunBB, Нет, сделали новый игровой проект. А PunBB взяли т.к его легче было адоптировать под дизайн сайта.
Посмотрел. Там скорее всего функционал встроили в сам движок. Но такое не сложно сделать и отдельным расширением.
$matches[1]
перенес тему в соответствующий раздел
А каким расширением можно сделать? был бы очень блогодарен.
А каким расширением можно сделать?
Расширение нужно будет написать. Со временем возможно кто то и реализует. Я однажды пытался статусы из аськи приклеить, а потом забросил. Будет время, гляну, что можно сделать.
strlog_Prod, А каким расширением можно сделать?
Тем, что напишите самостоятельно!
Ну знал бы как написал) Просто с данным движком работаю недавно. Ладно спасибо за ответ
strlog_Prod, если есть минимальные знания PHP и желание, то вникнешь быстро. А то тут только несколько человек все пишут, остальные все хотят на шару и заходят на форум только тогда, когда появляется еще какя нибудь хотелка!
Ну попробую)
Я с удовольствием помогу. По мне так лучше одного человека научить писать расширения, чем писать их самому. Двойная польза и ему самому и нам.
Часто новички, вкусив на сколько прост PunBB сами побуждены больше вкладывать в проект, нежели потребительствовать.
Да и сами подумайте, написав даже самое простое расширение, разве у вас самих не появляется чувства удовлетворения, что вы чего то достигли?
PunBB, Красиво сказал . Ну да думаю было бы не плохо если мы бы сделали такое расширение, да и новичкам было бы полезно, т.к я тоже очень давно искал такое расширение но так и не нашел.
strlog_Prod, давайте начнем с вами писать. Я думаю, что скорость написания будет зависеть от того на сколько четко и поэтапно вы будете следовать руководству.
Итак. Шаг 1.
Создайте каркас расширения. По сути, каркас это директория с айди ID расширения латинскими буквами в нижнем регистре.
Например prefix_ext_name
Префикс - советую его использовать, чтобы в будущем не было путаницы и конфликтов.
В итоге имя может быть таким:
vasya_colored_group
или
petya_groups_color
Но без максимализма, т.е. без предлогов of, on, in, for .... чтобы отражало саму суть
Шаг 2. Файл манифест. Каркас.
Далее внутри директории поместите файл с именем manifest.xml
За основу можете взять манифест любого официального расширения с префиксом pun_ или от fancy_, они образцы в этом отношении.
Вот готовый каркас взятый из расширения Pun BBcode:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE extension SYSTEM "ext-1.0.dtd">
<extension engine="1.0">
<id>pun_bbcode</id>
<title>BBCode buttons</title>
<version>1.4.18</version>
<description>(pun_bbcode) - Кнопки для BB - кодов.</description>
<author>PunBB Development Team</author>
<minversion>1.4.2</minversion>
<maxtestedon>1.4.4</maxtestedon>
<install><![CDATA[
//выполнение скрипта при установке
]]></install>
<uninstall><![CDATA[
//выполнение скрипта при удалении
]]></uninstall>
<hooks>
</hooks>
</extension>
Итак, задача:
Заполните 5 полей на свои и сохраните файл в кодировке UTF-8
id - имя директории в точности как есть
title - имя расширения, любое
version - ваша текущая версия, желательно начинать с, 0.1 или 1 и при следующих правках увеличивать число, десятое или целое.
description - ваше описание, любое, краткое.
author - ваш ник, логин, емаил и тп.
Вот и все для начала. Это расширение уже можно будет устанавливать и удалять. Правда никаких функций пока оно не выполняет, это мы добавим в будущем.
Я тут подумал а если просто сделать через php? Пока у меня вот что вышло:
В viewtopic.php после
$forum_page['author_ident']['username'] = '<li class="username">'.(($forum_user['g_view_users'] == '1') ? '<a title="'.sprintf($lang_topic['Go to profile'], forum_htmlencode($cur_post['username'])).'" href="'.forum_link($forum_url['user'], $cur_post['poster_id']).'">'.forum_htmlencode($cur_post['username']).'</a>' : '<strong>'.forum_htmlencode($cur_post['username']).'</strong>').'</li>';
$forum_page['author_ident']['usertitle'] = '<li class="usertitle"><span>'.get_title($cur_post).'</span></li>';
Вставить:
$rang = $cur_post['g_id'];
if($rang == "1") $userrang = '<img class="popup" src="'.$base_url.'/img/rang/admin.png" title="Системный Администратор проекта">';
if($rang == "4") $userrang = '<img class="popup" src="'.$base_url.'/img/rang/moder.png" title="Мл.модератор">';
if($rang == "3") $userrang = '<img class="popup" src="'.$base_url.'/img/rang/user.png" title="Пользователь">';
Осталось только статусы онлайн/оффлайн.. Но тут и проблема не как не могу сделать... Вроде и получается вроде и нет, может кто-нибудь подкинет код.
Пытался заменить на изображение тут:
if ($cur_post['is_online'] == $cur_post['poster_id'])
$forum_page['author_ident']['status'] = '<li class="userstatus"><span>'.$lang_topic['Online'].'</span></li>';
else
$forum_page['author_ident']['status'] = '<li class="userstatus"><span>'.$lang_topic['Offline'].'</span></li>';
}
else
Но не выходит как тут:
$matches[1]
PunBB, Что думаешь? Можно как-нибудь реализовать через код?
Можно как-нибудь реализовать через код?
можно вшить конечно в сам файл viewtopic.php, но я всегда рекомендую интегрировать с помощью системы хуков.
Ну смотрите, в исходнике того форума вот такая разметка:
<li class="usertitle">
<span title="Возраст: 25" style="float: left; margin-left: 1px;"><img src="/images/icon_forum/user.png" border="0"></span>
<span style="float: right;"> <img src="/images/icon_forum/off.png" style="opacity: 0.7;" title="Пользователя сейчас нет на форуме!" border="0"></span>
</li>
Значит нужно найти такой код:
$forum_page['author_ident']['usertitle'] = '<li class="usertitle"><span>'.get_title($cur_post).'</span></li>';
и заменить на
$forum_page['author_ident']['usertitle'] = '
<li class="usertitle">
<span style="float: left; margin-left: 1px;"><img src="/images/icon_forum/user.png" border="0"></span>
<span style="float: right;"><img src="/images/icon_forum/off.png" style="opacity: 0.7;" title="Пользователя сейчас нет на форуме!" border="0"></span>
</li>';
Кроме того нужно назначать картинку в замисимости от группы. Определять так:
if ($cur_post['g_id'] == 1)
{
echo 'Администратор';
}
Расширение реализовано. Тема более не актуальна. По дополнительным вопросам, запросам пишите в тему расширения вот ссылка
Generated in 0.055 seconds (65% PHP - 35% DB) with 26 queries