Иногда появляется необходимость добавить свои кнопки в панель редактирования/создания постов в компонентах форумов FireBoard (Joomla 1.0.X) и Kunena (Joomla 1.5.X).
Например, с точки зрения SEO, считается более правильным выделять слова отражающие основной смысл поста тегами <strong></strong>, а не <b></b> (которые несут лишь визуальную нагрузку) имеющимися в арсенале этих форумов.
Есть два способа решить эту задачу:
1. Простой: заменить интерпретацию BB-тегов [b][/b] с <b></b> на <strong></strong>.
2. Сложнее, но универсальнее: добавить свою кнопку для своих тегов <strong></strong>.
Решение:
1. Ищем файл форума в котором происходит преобразование BB-тегов в HTML-теги.
Находим interpreter.fireboard.inc.php (kunena.parser.php для kunena), и меняем встречающиеся <b>, </b> на <strong>, </strong> так:
... case 'b': $tns = "<strong>"; $tne = '</strong>'; return TAGPARSER_RET_REPLACED; break; ... |
Теперь теги [b][/b] будут заменяться в тексте при публикации на <strong></strong>.
2. Ищем где формируются кнопки (например по 'bbstyle(0)'):
Находим тот-же smile.class.php, и добавляем после кнопки 'B' кнопку 'S':
... <input type = "button" class = "<?php echo $boardclass;?>button" accesskey = "b" name = "addbbcode0" value = " B " style = "font-weight:bold; " onclick = "bbstyle(0)" onmouseover = "helpline('b')"/> <input type = "button" class = "<?php echo $boardclass;?>button" accesskey = "" name = "addbbcode1" value = " S " style = "font-weight:bold; " onclick = "bbstyle(2)" onmouseover = "helpline('strong')"/> ... |
Значимыми тут являются параметры для функций bbstyle() (выводит BB-теги) и для helpline() (выводит строку подсказки). Находим их в файле fb_bb.js.php и добавляем следующие строчки:
... bbtags = new Array( '[b]','[/b]', '[s]','[/s]', /* добавили наши BB-теги в общий массив */ ... |
и
... b_help = "<?php echo _BBCODE_BOLD;?>"; strong_help = "<?php echo _BBCODE_STRONG;?>"; ... |
Значение языковой константы необходимо прописать в \administrator\components\com_fireboard\language\russian.php.
Последний действием необходимо сдвинуть значения параметра функции bbstyle() на два вперед, так как мы поменяли количество элементов массива BB-тегов.
Если есть вопросы — вэлком в комментарии.
Сделала первый вариант в форуме kunena 1.5.3 RE — работает, спасибо.
Здраствуйте! очень олезная статья,сделал все работает!У меня есть к вам вопрос,а как можно добавить в FireBoard 1.0.4, кнопку spoiler? Напишите если не трудно мне на почту! Заранее спасибо
Дмитрий, про кнопку спойлер довольно подробно описано по ссылке.
Статья просто золото, долго же я искал пока её нашёл. Но есть один нюанс — в новой 2.0.2 версии файла kunena.parser.php по тому же пути что и в старом не нашёл... Не изменился ли механизм, и если да, то как?