Контакты

Поиск по сайту

Категория: JComments Опубликовано: 08 Январь 2017

Дело в том, что тег вставки кода в jcomments 3 разработчиками предусмотрен. Но по какой-то причине он отсутствует во вкладке «Права» в админке. Если такой bbcode необходим в комментариях на вашем сайте, то это можно сделать.

Для того, чтобы добавить этот тег в админку jcomments во вкладку «Права» нам нужен файл www/administrator/components/com_jcomments/models/forms/permissions.xml.

Ищем в нем «fieldset name=„bbcodes“» и добавляем в его конец, перед закрывающим тегом, следующее:

    <field
                    name="enable_bbcode_code"
                    type="permission"
                    label="AP_ENABLE_BBCODE_CODE"
                    description="AP_ENABLE_BBCODE_CODE_DESC"/>

Проверяем. Настройка должна появиться и сохраняться, как и прочие.

Но это далеко не все: на форме добавления комментариев на сайте кнопки все еще нет, и, кроме того, для читабельного отображения данного поля необходимо прописать добавляемый bbcode в файлах локализации. Пусть не во все, но, по крайней мере, в файлы английского и использоваемого на сайте языка (языков). В этой статье, кроме английской, рассматривается русская локализация.

Для этого нам нужны следующие файлы:

  1. www/administrator/language/en-GB/en-GB.com_jcomments.ini
  2. www/administrator/language/ru-RU/ ru-RU.com_jcomments.ini

В файле en-GB.com_jcomments.ini в блоке settings/permissions/bbcode добавляем строчки:

    AP_ENABLE_BBCODE_CODE="Element <b>CODE</b> (code listing)"
    AP_ENABLE_BBCODE_CODE_DESC="Enable/Disable usage of CODE element (code listing)"

В файле ru-RU.com_jcomments.ini в этом же блоке добавляем:

    AP_ENABLE_BBCODE_CODE="Тег <b>CODE</b> (листинг кода)"
    AP_ENABLE_BBCODE_CODE_DESC="Разрешить использование тега CODE."

В итоге должно получиться так:

Добавление возможности вставки кода в компонент комментариев JComments 3

С админкой закончили.

Теперь нам нужны файлы jcomments, которые отвечают за вывод кнопок bbcode на форме редактирования комментария на сайте.

Открываем файл www/components/com_jcomments/js/jcomments-v2.3.js и находим в нем следующее:

    initTags: function(){
                       if (this.bbc==null||this.bbc.length==0){ …

Вставляем перед закрывающей скобкой

    this.bbc['code']={id:'bbcode-code',open:'[code]',close:'[/code]',
    key:null,ctrl:null,hint:'Code'};

Затем открываем файлы локализации кнопок:

  1. www/components/com_jcomments/languages/en-GB.com_jcomments.ini
  2. www/language/en-GB/en-GB.com_jcomments.ini
  3. www/components/com_jcomments/languages/ru-RU.com_jcomments.ini
  4. www/language/ru-RU/ru-RU.com_jcomments.ini

Добавляем в их блоки «bbcode buttons» и «bbcode messages» соответственно:

  1. «FORM_BBCODE_CODE=„Code“» и «FORM_BBCODE_CODE=„Листинг кода“»
  2. «BBCODE_HINT_ENTER_CODE=„Enter text to code“» и «BBCODE_HINT_ENTER_CODE=„Введите текст кода для форматирования“»

Теперь в текущем шаблоне Jcomments в файле www/components/com_jcomments/tpl/текущий_шаблон/tpl_form.php ищем:

    if ($this->getVar('comments-form-bbcode', 0) == 1) { …

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

    , 'code'=> array(0 => , 'code'=> array(0 => JText::_('FORM_BBCODE_CODE'),
    1 => JText::_('BBCODE_HINT_ENTER_CODE')) 

Теперь кнопка должна появиться на форме добавления комментария Jcomments.

Никакого изображения на этой кнопке нет. Для нее в файле www/components/com_jcomments/tpl/текущий_шаблон /images/jc_bbcodes.gif (первая слева) предусмотрена вот такая, своеобразная «заготовка», которую мы и видим на форме. Если внешний вид кнопки нас не устраивает, можно поправить этот файл в любом доступном графическом редакторе.

Добавить сообщение

Форма входа

Индекс цитирования Яндекс.Метрика