Публикации

Пользователь:

Пароль:


Запомнить

Регистрация
Забыли пароль?



Пользователей: 3898
Новичок: BAnatol
Поддержи проект
Поддержите проект Webmoney
R197422573540
E197270426287
Z701768662172
Сказали «Спасибо»

Навигация

Моддинг форума е107


Автор: Metaller
 10.0 - 6 голосов -

Моддинг форума е107

В этой статье я расскажу, как добавить на форум несколько полезных дополнений, которые реализованы на нашем форуме.

А именно:

Более удобная форма быстрого ответа, растянутая по ширине, с панелью для вставки bbcode'ов;
При выделении текста под формой быстрого ответа появляется кнопка для добавления выделенного текста в виде цитаты;
При клике на имя пользователя вместо открытия профиля его имя добавляется в форму быстрого ответа;

Ниже подробно рассказывается, как реализовать на сайте эти функции.

Итак, перейдем сразу к практике. Все делается просто и красиво, все изменения вносятся лишь в шаблоны и не затрагивают файлы ядра, а значит - никаких проблем с последующими обновлениями.

Для начала - берем файл forum_viewtopic_template.php в папке плагина forum и копируем его в папку темы. Будем изменять его, чтобы не трогать шаблон в папке плагина.

Открываем в любом текстовом редакторе и добавляем следующий код
+ Показать


Этим куском кода мы выполнили почти половину работы. Во-первых мы растянули форму быстрого ответа по ширине и сделали ее чуть повыше, добавили кнопки ббкодов. Кроме того, мы добавили кнопку «Добавить выделенный текст как цитату», которая первоначально скрыта, но появляется при проведении мыши над полем для ответа, если есть выделенный текст.

В самом начале кода есть строка:
  1. $forum_shortcodes = array_merge ($forum_shortcodes, $tp -> e_sc -> parse_scbatch(THEME."forum_newshortcode.sc"));


Этой строкой мы добавляем к шорткодам, используемым на форуме еще один файл с шорткодами forum_newshortcode.sc. В этот файл мы поместим код, который будет выводить имя пользователя на форуме таким образом, чтобы при клике на него оно добавлялось в форму быстрого ответа.

Конечно можно было бы внести изменения напрямую в файл forum_shortcodes.php но мы не будем этого делать, потому что в этом случае при следующем обновлении движка вы затрете этот файл и все внесенные изменения придется делать заново. Нам же этого не нужно

Итак, создаем в папке нашей темы файл forum_newshortcode.sc и помещаем в него следующий код:
+ Показать

Итак, новый шорткод NEWPOSTER создан и привязан. Осталось разместить его в шаблоне. В файле forum_viewtopic_template.php находим в двух местах {POSTER} и заменяем на {NEWPOSTER}. С этим файлом все - закрываем и сохраняем.

Осталась последняя составляющая для работы новых функций - JavaScript. Внедрим их самым простым способом - через файл theme.js - если его нет в папке вашей темы, создайте, если уже есть - вставляйте указанный ниже код в конец файла.
+ Показать


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

Что мы узнали:
Как изменить форму быстрого ответа на форуме;
Как грамотно добавить и использовать на форуме (а по аналогии и где угодно) новые шорткоды;
Как вставить на сайт JavaScript.