Свои иконки разделов для SMF 2.0.1

Автор Beer, 21 октября 2011, 19:53:09

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

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

Beer

 Для 2.0 есть МОД cbi v0.5 (Custom Board Icons) - http://custom.simplemachines.org/mods/index.php?mod=511
На каждый раздел - 3 иконки согласно правилу:
Structure:
forum/Themes/default/icons
forum/Themes/default/icons/board_id/on.png
forum/Themes/default/icons/board_id/on2.png
forum/Themes/default/icons/board_id/off.gif
У меня - 25 разделов = 75 иконок.

Каждый тэг <img> составляют отдельный запрос. Несложно догадаться, что такой подход сильно увеличит количество HTTP запросов и затормозит загрузку и эффективность работы сайта.
Оно надо?
Нет.

Посему решил действовать через спрайт (это не аналог кока-колы...). Что это такое - открываем файл menu_gfx.png в дефолтной теме и все поймете. (Вот он отсюда: ссылка)

1. Иконки будут 48pix. Создаем нашу картинку в фотошопе ширина 96пикс х 960пикс (20 иконок расположенных вертикально) - располагаем согласно разметки.

2. В index.css шаблона дописываем стили для вывода иконок:


/*Personal Board icons*/
.board_no_1
{
background: url(../images/theme/board_48.png) no-repeat 0 0px;
height: 48px;
width: 48px;
}

.board_no_2
{
background: url(../images/theme/board_48.png) no-repeat 0 -48px;
height: 48px;
width: 48px;
}

.board_no_3
{
background: url(../images/theme/board_48.png) no-repeat 0 -96px;
height: 48px;
width: 48px;
}
/*И так далее по количеству разделов....*/


3. Открываем BoardIndex.template.php

Найти:
<img src="', $settings['images_url'], '/', $context['theme_variant_url'], 'off.png" alt="', $txt['old_posts'], '" title="', $txt['old_posts'], '" />';

Заменить на:
<div class="board_no_', $board['id'], '"><img src="', $settings['images_url'], '/', $context['theme_variant_url'], 'off.png" width="48" height="48" alt="', $txt['old_posts'], '" title="', $txt['old_posts'], '" /></div>';

4. off.png () - заменяем на прозрачный png 1x1 пиксель. Лежит в /Themes/default/images/

Все - вместо прочитанных сообщений мы видим свои иконки.
Непрочитанные сообщения еще не делал, т.к. хочется у старших товарищей спросить про ход мысли - так надо или не так?
Спрайт приаттачил.

Bugo

Отправьте предложение автору мода. Идея хорошая.

Beer

 Я хз кто автор и чего ему предлагать - мне вчера это приснилось, вот и набросал.
Я в этом деле мало шарю, но кажись доделаю в течение пары дней после выходных.

remingtone


Beer

Все работает соласно описаной методы.

remingtone

да думал, может на мод созрели, чтоб в два клика решить вопрос :) пришлось вручную делать, но за темку спасибо.

Страница сгенерирована за 0.053 секунд. Запросов: 15.

The page ************** got an overall Page Speed Score of 97 (out of 100)