Добавляем в шаблон форума SMF счетчики и кнопочку «На сайт»

Ставим кнопочку "на сайт"При обновлении форума с 1.1.4 версии до 1.1.11 сменился и шаблон самого форума. На старом форуме у меня стояли счетчики и была кнопочка, ведущая на сайт. Все это прописывается в сам шаблон. Как-то руки не доходили до правки шаблона, а тут решила все же сделать, тем более возни там не так уж и много.

Я использую дефолтный шаблон.

Итак, открываем файл forum/Themes/default/index.template.php и находим там строки (у меня это 382 строка):

// Show the load time?
if ($context['show_load_time'])
echo
'<span>', $txt['smf301'], $context['load_time'], $txt['smf302'], $context['load_queries'], $txt['smf302b'],
'</span>';

После них вставляем:

echo 'код счетчика';

При этом обязательно нужно заэкранировать обратной косой чертой \ все встречающиеся в коде знаки ‘. Иначе браузер выдаст ошибку:

Template Parse Error!
There was a problem loading the /Themes/default/index.template.php template or language file. Please check the syntax and try again - remember,single quotes (') often have to be escaped with a slash (\). To see more specific error information from PHP, try accessing the file directly.

Дополнительно я поставила <br /> после </span> :

'</span><br />';

для того, чтобы счетчики встали на новой строке и «оторвались» от времени генерирования страницы. Так мне кажется красивее.

rating

Следующее изменение касается дополнительной кнопочки вверху. Мне кажется, что на форуме нужна кнопочка, ведущая на сайт, ведь мой сайт и форум работают в одной связке.

Для этого берем все тот же файл forum/Themes/default/index.template.php и находим строчку (у меня это 572 строчка.)

// Show the [home] button.
echo ($current_action=='home' || $context['browser']['is_ie4']) ? '<td>&nbsp;</td>' : '' , '
<td valign="top">
<a href="', $scripturl, '">' , $txt[103] , '</a>
</td>' , $current_action == 'home' ? '<td>&nbsp;</td>' : '';

Перед этой строкой я вставила такой код:

// Show the [site] button.
echo ($current_action=='site' || $context['browser']['is_ie4']) ? '<td>&nbsp;</td>' : '' , '
<td valign="top">
<a href="http://samaraham.ru" target="_blank">' , $txt[0103] , '</a>
</td>' , $current_action == 'site' ? '<td>&nbsp;</td>' : '';

Теперь нужно сделать саму надпись. В файле forum/Themas/default/languages/index.russian.php находим строчку (у меня 81):

$txt[103] = 'Начало';

и дописываем после нее

$txt[0103] = 'На сайт';

Я выбрала такой номер 0103, чтобы уж наверняка не попасть на  уже использующуюся переменную, а просматривать все файлы на номера переменных не хочется.

button

Соответственно, если форум в кодировке utf-8, нужно взять файл forum/Themas/default/languages/index.russian-utf8.php.

У меня, кстати, с этим проблема. Сайт я перевела в кодировку utf-8 при миграции на Joomla 1.5, а форум не получилось переделать и пришлось пока оставить windows-1251, что, конечно же, плохо. Этим нужно будет обязательно заняться попозже.

Проверяем внешний вид форума, все должно работать. Я для редактирования шаблонов использую локальный вариант сайта и форума. Для этого у меня на компьютере стоит сервер Denwer, на нем я все и отрабатываю.

Ваш отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>