Кастомные значки разделов форума

Автор Juanito, 09 декабря 2018, 21:24:00

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Juanito

В общем, благодаря форумчанину mosTaxi24, накопал этот метод вот тут, проверил, и он работает. Делюсь с вами здесь, чтобы метод не затерялся.

Добавляет к каждому разделу свой значок, не меняя основного.

В файле Themes/название вашей темы/BoardIndex.template.php находим (код может незначительно отличаться, ищите по <td class="info">)

echo '
 </a>
 </td>
 <td class="info">
 <a class="subject" href="', $board['href'], '" id="b', $board['id'], '">', $board['name'], '</a>';

и заменяем на

echo '
 </a>
               </td>
               <td class="window icon"><img src="' . $settings['images_url'] . '/b_icons/', $board['id'], '.png" width="40" height="40" alt="*" title="', $board['name'], '" /></td>
              
 <td class="info">
 <a class="subject" href="', $board['href'], '" name="b', $board['id'], '">', $board['name'], '</a>';

Затем создаём папку b_icons в Themes/название вашей темы/images/b_icons. В эту папку кидаем файлы ваших значков формата .png с названиями 1.png, 2.png и так далее, где цифра соответствует id форума.

Как узнать id форума? Зайдите в раздел и в строке браузера увидите адрес вашего форума/index.php?board=6.0, где цифра 6 = id форума (ноль добавлять не надо). Если раздел  является редиректом, то щёлкаем на иконку отсутствия картинки правой кнопкой мыши > посмотреть код элемента > вы увидите ссылку вида src="https://адрес вашего сайта/Themes/название темы/images/b_icons/33.png", где последняя цифра (на примере - 33) = id раздела (если вы сделали уже сделали изменения в коде из этой темы).

В зависимости от темы, у вас может либо быть всё нормально, либо поехать вёрстка из-за того, что добавляется новый элементы таблицы. У меня было всё нормально на теме Flexive, но вот на Default поехала вёрстка. Этому тоже есть решение, цитирую:

Цитироватьеще кое где поменял значение colspan=" " (добавил +1), а то верстка съехала
а именно здесь +1:

echo '
 <tbody class="header" id="category_', $category['id'], '">
 <tr>
 <td colspan="5">
 <div class="cat_bar">
 <h3 class="catbg">';

и здесь +1:

echo '
 <tr id="board_', $board['id'], '_children">
 <td colspan="4" class="children windowbg">
 <strong>', $txt['parent_boards'], '</strong>: ', implode(', ', $children), '
 </td>
 </tr>';

Я не знаю, в каком именно файле, но просто вбейте поиск этот строк по всем файлам форума через программу notepad++.

Результат во вложении. Посмотрев во вложение, вы увидите минус этого метода: если вы не установили значок для раздела, будет отображаться иконка отсутствия изображения. Поэтому придётся для каждого раздела ставить значок. Ну и ещё на подразделах не работает.

Из плюсов: никаких модов, всего пару новых строк кода.