Автор: akella 1900
Представлю вам очередной мод Forum Background for phpBB3, он позволит вам украсить вашу главную страницу где расположен список ваших форумов или подфорумы.
вот так автор, с помощью этого мода, украсил свой форум:
Если заинтересовало - ставим:
Скачиваем мод из архива сайта:
Скачать из файлового архива сайта
распаковываем и содержимое папки root копируем в корень сайта (где файл config.php).
после чего редактируем файлы.
Код: Выделить всё
<dd><input class="text medium" type="text" id="forum_name" name="forum_name" value="{FORUM_NAME}" maxlength="255" /></dd>
</dl>
Вставить после найденного
Код: Выделить всё
<dl>
<dt><label for="forum_bg">{L_FORUM_BG}:</label><br /><span>{L_FORUM_BG_EXPLAIN}</span></dt>
<dd><input class="text medium" type="text" id="forum_bg" name="forum_bg" value="{FORUM_BG}" maxlength="255" /></dd>
</dl>
Код: Выделить всё
<td style="width: 5%; text-align: center;">{forums.FOLDER_IMAGE}</td>
<td>
Часть строки
Код: Выделить всё
<td>
Заменить на
Код: Выделить всё
<td style="background-image: url({forums.FORUM_BG}); background-repeat: repeat;">
Код: Выделить всё
ORDER BY left_id ASC';
Вставить после найденного
Код: Выделить всё
$sql = str_replace('SELECT ', 'SELECT forum_bg, ', $sql);
Код: Выделить всё
'SELECTED' => ($row['forum_id'] == $forum_id) ? ' selected="selected"' : '',
Вставить после найденного
Код: Выделить всё
'FORUM_BG' => $row['forum_bg'],
'S_FORUM_BG' => !empty($row['forum_bg']) ? true : false,
Код: Выделить всё
$subforums[$parent_id][$forum_id]['name'] = $row['forum_name'];
Вставить после найденного
Код: Выделить всё
$subforums[$parent_id][$forum_id]['bg'] = $row['forum_bg'];
Код: Выделить всё
'FORUM_DESC' => generate_text_for_display($row['forum_desc'], $row['forum_desc_uid'], $row['forum_desc_bitfield'], $row['forum_desc_options']),
Заменить на
Код: Выделить всё
'FORUM_DESC' => !empty($row['forum_desc']) ? generate_text_for_display($row['forum_desc'], $row['forum_desc_uid'], $row['forum_desc_bitfield'], $row['forum_desc_options']) : ' ',
Код: Выделить всё
'FORUM_IMAGE_SRC' => ($row['forum_image']) ? $phpbb_root_path . $row['forum_image'] : '',
Вставить после найденного
Код: Выделить всё
'FORUM_BG' => '',
Код: Выделить всё
'FORUM_DESC' => generate_text_for_display($row['forum_desc'], $row['forum_desc_uid'], $row['forum_desc_bitfield'], $row['forum_desc_options']),
Заменить на
Код: Выделить всё
'FORUM_DESC' => !empty($row['forum_desc']) ? generate_text_for_display($row['forum_desc'], $row['forum_desc_uid'], $row['forum_desc_bitfield'], $row['forum_desc_options']) : ' ',
Код: Выделить всё
'SUBFORUMS' => $s_subforums_list,
Вставить после найденного
Код: Выделить всё
'FORUM_BG' => $row['forum_bg'],
'S_FORUM_BG' => !empty($row['forum_bg']) ? true : false,
Код: Выделить всё
'FORUM_ID' => $forum_data['forum_id'],
'FORUM_NAME' => $forum_data['forum_name'],
Вставить после найденного
Код: Выделить всё
'FORUM_BG' => $forum_data['forum_bg'],
'S_FORUM_BG' => !empty($forum_data['forum_bg']) ? true : false,
Код: Выделить всё
WHERE forum_id = ' . $active_f_row['forum_id'];
Вставить после найденного
Код: Выделить всё
$sql = str_replace('SELECT ', 'SELECT forum_bg, ', $sql);
Код: Выделить всё
$active_f_row['forum_name'] = (string) $db->sql_fetchfield('forum_name');
Вставить после найденного
Код: Выделить всё
$active_f_row['forum_bg'] = $db->sql_fetchfield('forum_bg');
Код: Выделить всё
$active_f_name = $active_f_id
Часть строки
Код: Выделить всё
$active_f_name = $active_f_id
Вставить после найденного
Код: Выделить всё
= $active_f_bg
Код: Выделить всё
$active_f_pct = ($userdata['user_posts']) ? ($active_f_count / $userdata['user_posts']) * 100 : 0;
Вставить после найденного
Код: Выделить всё
$active_f_bg = $active_f_row['forum_bg'];
Код: Выделить всё
'ACTIVE_FORUM' => $active_f_name,
Вставить после найденного
Код: Выделить всё
'ACTIVE_FORUM_BG' => $active_f_bg,
'S_ACTIVE_FORUM_BG' => !empty($active_f_bg) ? true : false,
Код: Выделить всё
'forum_password_unset' => request_var('forum_password_unset', false),
Вставить после найденного
Код: Выделить всё
'forum_bg' => request_var('forum_bg', ''),
Код: Выделить всё
'forum_password_confirm'=> '',
Вставить после найденного
Код: Выделить всё
'forum_bg' => '',
Код: Выделить всё
'S_CAN_COPY_PERMISSIONS' => ($action != 'edit' || empty($forum_id) || ($auth->acl_get('a_fauth') && $auth->acl_get('a_authusers') && $auth->acl_get('a_authgroups') && $auth->acl_get('a_mauth'))) ? true : false,
Вставить после найденного
Код: Выделить всё
'FORUM_BG' => $forum_data['forum_bg'],
'S_FORUM_BG' => !empty($forum_data['forum_bg']) ? true : false,
Код: Выделить всё
'S_FORUM_POST' => ($forum_type == FORUM_POST) ? true : false,
Вставить после найденного
Код: Выделить всё
'FORUM_BG' => ($row['forum_bg']) ? $phpbb_root_path . $row['forum_bg'] : '',
Код: Выделить всё
?>
Вставить до найденного
Код: Выделить всё
$lang = array_merge($lang, array(
'FORUM_BG' => 'Forum background image',
'FORUM_BG_EXPLAIN' => 'If your image is <em>PHPBB3_ROOT/images/forum_bg/test.gif</em>, then the path is <em>images/forum_bg/test.gif</em>.',
));
Код: Выделить всё
?>
Вставить до найденного
Код: Выделить всё
$lang = array_merge($lang, array(
'FORUM_BG' => 'Фоновая картинка форума',
'FORUM_BG_EXPLAIN' => 'Путь к вашей картинке <em>images/forum_bg/test.gif</em>.',
));
Код: Выделить всё
<dl class="icon" style="background-image: url({forumrow.FORUM_FOLDER_IMG_SRC}); background-repeat: no-repeat;">
Заменить на
Код: Выделить всё
<dl class="icon" style="background-image: url({forumrow.FORUM_BG}); background-repeat: repeat;">
Код: Выделить всё
<dt title="{forumrow.FORUM_FOLDER_IMG_ALT}">
Заменить на
Код: Выделить всё
<dt title="{forumrow.FORUM_FOLDER_IMG_ALT}" style="background-image: url({forumrow.FORUM_FOLDER_IMG_SRC}); background-repeat: no-repeat; background-position: 10px 50%;">
Код: Выделить всё
<!-- ELSEIF forumrow.S_IS_LINK -->
<tr>
<td class="row1" width="50" align="center">{forumrow.FORUM_FOLDER_IMG}</td>
<td class="row1">
Заменить на
Код: Выделить всё
<!-- ELSEIF forumrow.S_IS_LINK -->
<tr>
<td class="row1" width="50" align="center" style="background-image: url({forumrow.FORUM_BG}); background-repeat: repeat;">{forumrow.FORUM_FOLDER_IMG}</td>
<td class="row1" style="background-image: url({forumrow.FORUM_BG}); background-repeat: repeat;">
Код: Выделить всё
<!-- ENDIF -->
<tr>
<td class="row1" width="50" align="center">{forumrow.FORUM_FOLDER_IMG}</td>
<td class="row1" width="100%">
Заменить на
Код: Выделить всё
<!-- ENDIF -->
<tr>
<td class="row1" width="50" align="center" style="background-image: url({forumrow.FORUM_BG}); background-repeat: repeat;">{forumrow.FORUM_FOLDER_IMG}</td>
<td class="row1" width="100%" style="background-image: url({forumrow.FORUM_BG}); background-repeat: repeat;">
Код: Выделить всё
<td class="row2" align="center"><p class="topicdetails">{forumrow.TOPICS}</p></td>
<td class="row2" align="center"><p class="topicdetails">{forumrow.POSTS}</p></td>
<td class="row2" align="center" nowrap="nowrap">
Заменить на
Код: Выделить всё
<td class="row2" align="center" style="background-image: url({forumrow.FORUM_BG}); background-repeat: repeat;"><p class="topicdetails">{forumrow.TOPICS}</p></td>
<td class="row2" align="center" style="background-image: url({forumrow.FORUM_BG}); background-repeat: repeat;"><p class="topicdetails">{forumrow.POSTS}</p></td>
<td class="row2" align="center" nowrap="nowrap" style="background-image: url({forumrow.FORUM_BG}); background-repeat: repeat;">
На этом всё. Чистим кэш и настраиваем "красивость" в админке по адресу
Админка - Форумы - Управление форумами - Настройка форума - Фоновая картинка форума (появится после Имя форума).
При установке в папке root вам предлагается готовый набор картинок для фона. Есть чем поэкспериментировать...
Успехов вам в установке. Мод проверен в работе и глюков не обнаружено.
28 февраля 2023 года попробовал "с наскока" поставить мод на форум. не удалось. вышла ошибка. скорее всего где-то напутал с правками (до этого ставил - всё было нормально). то есть я имею в виду, что "мелких" правок довольно много - надо делать внимательно и не забыть перед переделкой сделать бэкап файлов форума.