board3 Portal phpbb3 - Портал для форума
Добавлено: 23 июн 2012, 17:36
Вот и он, долгожданный анонс одной из самых полезных и мощных модификаций для phpbb3 - board3 Portal
Из названия уже ясно, что это мод Портала, который кстати очень хорош по функционалу и количеству блоков, которые в свою очеред удобно и самому добавлять. Ниже на скриншоте представлен общий вид портала.
Впринципе в установке данный мод не сложен, правок не сильно много, так что смело скачиваем его и устанавливаем по инструкции
После правок файлов не забываем запускать скрипт установки по адресу
После того, как скрипт отработает необходимо удалить папку install из корня форума. Для руссификации скачиваем архив, прикрепленный ниже
Единственную папку из архива распаковываем в корень форума.
Ниже, в описании файлов вы поймете для каких модов эти портальные блоки Все блоки устанавливаются одинаково - файлы загружаются в корень форума и через настройки Портала (в админке) добавляются в нужные места
Вот впринципе и все, задаем вопросы - не стесняемся, успехов в установке
Из названия уже ясно, что это мод Портала, который кстати очень хорош по функционалу и количеству блоков, которые в свою очеред удобно и самому добавлять. Ниже на скриншоте представлен общий вид портала.
Впринципе в установке данный мод не сложен, правок не сильно много, так что смело скачиваем его и устанавливаем по инструкции
После правок файлов не забываем запускать скрипт установки по адресу
Код: Выделить всё
http:// адрес вашего форума/install/index.php
-------------- Добавляем новые блоки на Портал ---------------
Всего на портале можно выделить 3 места для добавления блоков - левая колонка, центральная и правая. Подключение блоков к этим колонкам осуществляется в одном файле, путь его расположения /styles/ваш стиль/template/portal/portal_body.html . Теперь обьясню, какой код и за что отвечает (только касатально блоков)
Добавление блока осуществляется следущим образом.
С помощью программы создаем текстовый документ с названием test (это для примера, вы вольны называть его как угодно), после этого меняем его кодировку на нужную(все это описано в теме о текстовом редакторе, ссылку на который я дал выше) и сохраняем пустой файл. Затем меняем его расширение на html и опять открываем его. Добавляем следущее содержимое
Содержимое блока может быть каким угодно, как обычный текст так и HTML код. После добавления нужного содержимого, сохраняем наш файл test.html и помещаем его в папку /styles/ваш стиль/template/portal/modules/ .
Теперь нам надо подключить этот блок к порталу. Открываем главный файл из/styles/ваш стиль/template/portal/portal_body.html
Находим нужную колонку (коды колонок я описал выше) для размещения и находим (у каждой колонки есть такой код)
Вставляем после найденного
Теперь наш блок подключен, чистим кеш через админку и радуемся новому блоку. Таким образом можно добавить в портал сколь угодное количество блоков с разным содержимым.
Создаем файл sponsor.html и добавляем в него следущее(не забываем перед добавлением ставить правильную кодировку файла)
Помещаем этот файл в папку /styles/ваш стиль/template/portal/modules/ . Открываем главный файл из /styles/ваш стиль/template/portal/portal_body.html
Находим нужную колонку (коды колонок я описал выше) для размещения и находим (у каждой колонки есть такой код)
Вставляем после найденного
После всех правок не забываем чистить кеш в админке форума.
Если надо в этот же блок добавить еще одного спонсора то находим в файле строку
И добавляем после нее
В итоге получится
Таким образом можно добавить в этот блок сколь угодное количество спонсоров. Аналогичным образом можно сделать рекламный блок, заменив всего лишь
На любой текст, к примеру
Левая колонка
Код: Выделить всё
<!-- [+] left module area -->
<!-- IF S_LEFT_COLUMN -->
<td valign="top" style="width: {S_PORTAL_LEFT_COLUMN}px; padding-<!-- IF S_CONTENT_DIRECTION eq 'rtl' -->left<!-- ELSE -->right<!-- ENDIF -->: {$BLOCK_DISTANCE};">
<!-- BEGIN modules_left -->
<!-- DEFINE $TEMPLATE_FILE = '{modules_left.TEMPLATE_FILE}' -->
<!-- DEFINE $IMAGE_SRC = '{modules_left.IMAGE_SRC}' -->
<!-- DEFINE $IMAGE_WIDTH = '{modules_left.IMAGE_WIDTH}' -->
<!-- DEFINE $IMAGE_HEIGHT = '{modules_left.IMAGE_HEIGHT}' -->
<!-- DEFINE $CUSTOM_CODE = '{modules_left.CODE}' -->
<!-- DEFINE $TITLE = '{modules_left.TITLE}' -->
<!-- DEFINE $MODULE_ID = '{modules_left.MODULE_ID}' -->
<!-- INCLUDE {$TEMPLATE_FILE} -->
<!-- END modules_left -->
</td>
<!-- ENDIF -->
<!-- [-] left module area -->
Центральная колонка
Код: Выделить всё
<!-- [+] center module area -->
<!-- IF S_CENTER_COLUMN -->
<td valign="top">
<!-- BEGIN modules_center -->
<!-- DEFINE $TEMPLATE_FILE = '{modules_center.TEMPLATE_FILE}' -->
<!-- DEFINE $IMAGE_SRC = '{modules_center.IMAGE_SRC}' -->
<!-- DEFINE $IMAGE_WIDTH = '{modules_center.IMAGE_WIDTH}' -->
<!-- DEFINE $IMAGE_HEIGHT = '{modules_center.IMAGE_HEIGHT}' -->
<!-- DEFINE $CUSTOM_CODE = '{modules_center.CODE}' -->
<!-- DEFINE $TITLE = '{modules_center.TITLE}' -->
<!-- DEFINE $MODULE_ID = '{modules_center.MODULE_ID}' -->
<!-- INCLUDE {$TEMPLATE_FILE} -->
<!-- END modules_center -->
<!-- IF S_DISPLAY_JUMPBOX and B3P_DISPLAY_JUMPBOX -->
<br />
<!-- INCLUDE portal/modules/jumpbox.html -->
<!-- ENDIF -->
</td>
<!-- ENDIF -->
<!-- [-] center module area -->
Правая колонка
Код: Выделить всё
<!-- [+] right module area -->
<!-- IF S_RIGHT_COLUMN -->
<td valign="top" style="width: {S_PORTAL_RIGHT_COLUMN}px; padding-<!-- IF S_CONTENT_DIRECTION eq 'rtl' -->right<!-- ELSE -->left<!-- ENDIF -->: {$BLOCK_DISTANCE};">
<!-- BEGIN modules_right -->
<!-- DEFINE $TEMPLATE_FILE = '{modules_right.TEMPLATE_FILE}' -->
<!-- DEFINE $IMAGE_SRC = '{modules_right.IMAGE_SRC}' -->
<!-- DEFINE $IMAGE_WIDTH = '{modules_right.IMAGE_WIDTH}' -->
<!-- DEFINE $IMAGE_HEIGHT = '{modules_right.IMAGE_HEIGHT}' -->
<!-- DEFINE $CUSTOM_CODE = '{modules_right.CODE}' -->
<!-- DEFINE $TITLE = '{modules_right.TITLE}' -->
<!-- DEFINE $MODULE_ID = '{modules_right.MODULE_ID}' -->
<!-- INCLUDE {$TEMPLATE_FILE} -->
<!-- END modules_right -->
</td>
<!-- ENDIF -->
<!-- [-] right module area -->
С помощью программы создаем текстовый документ с названием test (это для примера, вы вольны называть его как угодно), после этого меняем его кодировку на нужную(все это описано в теме о текстовом редакторе, ссылку на который я дал выше) и сохраняем пустой файл. Затем меняем его расширение на html и опять открываем его. Добавляем следущее содержимое
Если у вас стиль на основе subsilver2
Код: Выделить всё
{$C_BLOCK_H_L}Имя нашего блока{$C_BLOCK_H_R}
<table class="tablebg" cellspacing="1" width="100%">
<tr class="row1">
<td>
<div align="center">
содержимое блока
</div>
</td>
</tr>
</table>
{$C_BLOCK_F_L}{$C_BLOCK_F_R}
Если у вас стиль на основе prosilver
Код: Выделить всё
{$C_BLOCK_H_L}Имя нашего блока{$C_BLOCK_H_R}
<div class="inner"><span class="corners-top"><span></span></span>
<div align="center">
содержимое блока
</div>
<span class="corners-bottom"><span></span></span></div>
{$C_BLOCK_F_L}{$C_BLOCK_F_R}
Теперь нам надо подключить этот блок к порталу. Открываем главный файл из
Находим нужную колонку (коды колонок я описал выше) для размещения и находим (у каждой колонки есть такой код)
Код: Выделить всё
<!-- INCLUDE {$TEMPLATE_FILE} -->
Код: Выделить всё
<!-- INCLUDE portal/modules/test.html -->
Для примера (и как показала практика это самый популярный вопрос) покажу как сделать блок спонсоров форума, с размещением в нем баннеров.
Создаем файл sponsor.html и добавляем в него следущее(не забываем перед добавлением ставить правильную кодировку файла)
Код: Выделить всё
{$C_BLOCK_H_L}Спонсоры Форума{$C_BLOCK_H_R}
<table class="tablebg" cellspacing="1" width="100%">
<tr class="row1">
<td>
<div align="center">
<a href="http:// полная ссылка на сайт спонсора"><img src="http://прямая ссылка на баннер спонсора"/></a><br/>
<strong>Название сайта спонсора или краткое описание</strong>
</div>
</td>
</tr>
</table>
{$C_BLOCK_F_L}{$C_BLOCK_F_R}
Находим нужную колонку (коды колонок я описал выше) для размещения и находим (у каждой колонки есть такой код)
Код: Выделить всё
<!-- INCLUDE {$TEMPLATE_FILE} -->
Код: Выделить всё
<!-- INCLUDE portal/modules/sponsor.html -->
Если надо в этот же блок добавить еще одного спонсора то находим в файле строку
Код: Выделить всё
</td>
Код: Выделить всё
<td>
<div align="center">
<a href="http:// полная ссылка на сайт спонсора2"><img src="http://прямая ссылка на баннер спонсора2"/></a><br/>
<strong>Название сайта спонсора или краткое описание2</strong>
</div>
</td>
Код: Выделить всё
{$C_BLOCK_H_L}Спонсоры Форума{$C_BLOCK_H_R}
<table class="tablebg" cellspacing="1" width="100%">
<tr class="row1">
<td>
<div align="center">
<a href="http:// полная ссылка на сайт спонсора"><img src="http://прямая ссылка на баннер спонсора"/></a><br/>
<strong>Название сайта спонсора или краткое описание</strong>
</div>
</td>
<td>
<div align="center">
<a href="http:// полная ссылка на сайт спонсора2"><img src="http://прямая ссылка на баннер спонсора2"/></a><br/>
<strong>Название сайта спонсора или краткое описание2</strong>
</div>
</td>
</tr>
</table>
{$C_BLOCK_F_L}{$C_BLOCK_F_R}
Код: Выделить всё
{$C_BLOCK_H_L}Спонсоры Форума{$C_BLOCK_H_R}
Код: Выделить всё
{$C_BLOCK_H_L}Реклама на Форуме{$C_BLOCK_H_R}
-------------------- Для тех у кого установлен мод Благодарности за сообщение (спасибки) -------
Если у вас установлен мод , то я подскажу каким образом можно добавить на Портал блок с теми, кто получил наиболее большее число спасибок (для примера поглядите мой Портал, под пользовательским блоком располагается блок Топ-5 Спасибок). Вообщем открываем portal.php и находим
Добавляем перед найденным
Открываем /language/ru/common.php и вставляем после любой строки следущий код
А теперь, используя инструкцию выше, добавляем блок со следущим содержимым
Сохраняем, чистим кеш и радуемся новому блоку с лидерами по Спасибкам
Код: Выделить всё
// Output page
Код: Выделить всё
// top five thanked users
if (($user_thanked = $cache->get('_top_five_thanked')) === false)
{
$user_thanked = array();
$sql = 'SELECT COUNT(t.post_id) AS tally, u.user_id, u.username, u.user_colour
FROM ' . THANKS_TABLE . ' t
LEFT JOIN ' . USERS_TABLE . ' u ON t.poster_id = u.user_id
GROUP BY t.poster_id
ORDER BY tally DESC';
$result = $db->sql_query_limit($sql, 5);
while ($row = $db->sql_fetchrow($result))
{
$user_thanked[$row['user_id']] = array(
'user_id' => $row['user_id'],
'username' => $row['username'],
'user_colour' => $row['user_colour'],
'user_thanks' => $row['tally'],
);
}
$db->sql_freeresult($result);
// cache this data for 5 minutes, this improves performance
$cache->put('_top_five_thanked', $user_thanked, 120);
}
foreach ($user_thanked as $row)
{
$username_string = get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']);
$template->assign_block_vars('top_five_thanked',array(
'THANKS' => $row['user_thanks'] > 1 ? sprintf($user->lang['THANKEDS'], $row['user_thanks']) : sprintf($user->lang['THANKED'], $row['user_thanks']),
'USERNAME_FULL' => $username_string)
);
}
Код: Выделить всё
'THANKED' => 'Получил(а) %d спасибок',
'THANKEDS' => 'Получил(а) %d спасибок',
Код: Выделить всё
<!-- BEGIN top_five_thanked -->• {top_five_thanked.USERNAME_FULL}<br /> {top_five_thanked.THANKS}<br /><br /><!-- END top_five_thanked -->
-------------------- Дополнительные блоки для портала -------
Ниже, в описании файлов вы поймете для каких модов эти портальные блоки Все блоки устанавливаются одинаково - файлы загружаются в корень форума и через настройки Портала (в админке) добавляются в нужные места
Вот впринципе и все, задаем вопросы - не стесняемся, успехов в установке