Как сделать дополнительные BB коды в форуме

  
Медаль
Сообщений: 109
Столкнулась с этой проблемой. ББкодов форума очень мало! Нашла мини-доработку быстрого ответа, но это не совсем то - где
Код PHP:
[img]
, например! Хотелось добавить ещё больше BB кодов!
Ребята, кто делал это себе? Поделитесь, будьте добры. :)
Редактировалось: 2 раз (Последний: 2 октября 2010 в 09:11)
Люблю эту CMS!
Сообщений: 85
вопрос остался без ответа а ведь актуально!!!
www.club-trade.ru ковыряюсь здесь
Сообщений: 31
Кнопки с функциями находятся здесь: core/classes/page.class.php
Я себе сделал дополнительную кнопку "Линия" и вживил выделение текста цветом(цвета- выпадающее меню).

Пока выглядит кривовато и без иконок, но работает, далее доведу до ума.
Редактор один на форум, блоги и ЛС, так что кнопки добавятся и там соответственно.
Редактировалось: 4 раз (Последний: 27 января 2012 в 00:19)
МедальАвторитет форума
Сообщений: 1002
Новая версия InstantCMS 1.9
22 ноября 2011 - Fuze
BBCode

правильные автоссылки;
исправлена проблема при цитировании автора с ником из нескольких слов #292;
множественные исправления js формы добавления bb кодов #297 #363;
поддержка плагинов для кнопок формы добавления (GET_BBCODE_BUTTON) ;
Делай добро и бросай его в воду, пусть плывет дальше...)
Сообщений: 31
• Mike •, можно для тех, кто "в танке"?...
Редактировалось: 1 раз (Последний: 27 января 2012 в 01:35)
МедальАвторитет форума
Сообщений: 1002
Если коротко, то появилась возможность добавлять код дополнительных кнопок BBcode с помощью плагина…
В файле /core/classes/page.class.php в функции getBBCodeToolbar появилась в самом конце строка (~884)
Код PHP:
$html = cmsCore::callEvent('GET_BBCODE_BUTTON', $html);
Которая обозначает что если написать плагин использующий этот вызов, то в конец списка кнопок редактора добавиться код новой кнопки…
Потом пишем плагин(только для примера /plugins/p_trio_bb/plugin.php):
Код PHP:
<?php

class p_trio_bb extends cmsPlugin {

// ==================================================================== //

    public function __construct(){
        
        parent::__construct();

        $this->info['plugin']           = 'p_trio_bb';
        $this->info['title']            = 'Demo Add BBcode';
        $this->info['description']      = 'Демо добавления кнопок для ББ-кодов';
        $this->info['author']           = '• Mike •';
        $this->info['version']          = '0.1';
        $this->info['type']             = 'BBcode';

        $this->events[]                 = 'GET_BBCODE_BUTTON';

    }

// ==================================================================== //

    public function install(){

        return parent::install();

    }

// ==================================================================== //

    public function upgrade(){

        return parent::upgrade();

    }

// ==================================================================== //

    public function execute($event, $html){

        parent::execute();

        $html .= '<a class="usr_bb_button" href="javascript:addTag(\''.$field_id.'\', \'[h1]\', \'[/h1]\')" title="Большой заголовок">
                <img src="/includes/bbcode/images/h1.png" border="0" alt="Большой заголовок" />
             </a>
             <a class="usr_bb_button" href="javascript:addTag(\''.$field_id.'\', \'[h2]\', \'[/h2]\')" title="Средний заголовок">
                <img src="/includes/bbcode/images/h2.png" border="0" alt="Средний заголовок" />
             </a>
             <a class="usr_bb_button" href="javascript:addTag(\''.$field_id.'\', \'[h3]\', \'[/h3]\')" title="Маленький заголовок">
                <img src="/includes/bbcode/images/h3.png" border="0" alt="Маленький заголовок" />';

        return $html;
    }


// ==================================================================== //

}

?>
закидываем в директорию /plugins/p_trio_bb/ инсталируем и включаем в админке переходим на сайт и видим копию трех кнопочек с заголовками 1-3 уровня…
соответственно коды добавляем свои следуя правилам функции getBBCodeToolbar
Делай добро и бросай его в воду, пусть плывет дальше...)
Сообщений: 31
Как-то мудрено. У меня проще получилось. Просто прописал дополнительные кнопки и всё. Зачем что-то устанавливать?
Тем более что некоторые распространенные BB коды не воспринимаются, примером тому создание списка.
МедальАвторитет форума
Сообщений: 1002
можно целиком заменить стандартную панель если убрать (.) точку перед = в строке $html = .......
Делай добро и бросай его в воду, пусть плывет дальше...)
МедальАвторитет форума
Сообщений: 1002
мудрёно что? написать свои строки в $html .= ''? так вы их и так написали только добавляли исправляя файлы движка, а так у вас будет плагин, и например при обновлении с версии на версию не нужно будет вспоминать где что и как правили вносили дополняли… ) а всё остальное я написал дайте свое название папке с плагином заполните блок информации сверху и функцию переименуйте, больше ничего сложного…
Делай добро и бросай его в воду, пусть плывет дальше...)
Медаль
Сообщений: 220
Vyatich:

Кнопки с функциями находятся здесь: core/classes/page.class.php
Я себе сделал дополнительную кнопку "Линия" и вживил выделение текста цветом(цвета- выпадающее меню).

Пока выглядит кривовато и без иконок, но работает, далее доведу до ума.
Редактор один на форум, блоги и ЛС, так что кнопки добавятся и там соответственно.

Выделение цветом вот тут хорошо реализовано instantcms.ru/blogs/zametki-polzovatelja/menjaem-cvet-shrifta-v-komentarijah.html
Я поставил, удобно и цветов много, взято на примере форума phpbb
Не пинайте сильно, я еще только учусь!
МедальАвторитет форума
Сообщений: 1002
Алфей:
Выделение цветом вот тут хорошо реализовано instantcms.ru/blogs/zametki-polzovatelja/menjaem-cvet-shrifta-v-komentarijah.html
Я поставил, удобно и цветов много, взято на примере форума phpbb
к вечеру сделаю в виде плагина под версию 1.9…
Делай добро и бросай его в воду, пусть плывет дальше...)
МедальАвторитет форума
Сообщений: 1002
Собственно уже есть, но проверялся только на чистой установке 1.9, в принципе конфликтовать ни с чем не должен…
Файл во вложении (распаковываем содержимое архива в корень сайта, устанавливаем в админке (добавить плагины) и включаем… всё… работает везде где стандартный редактор ББ-кодов используется, ничего руками править не нужно…
Успехов…
Прикрепленные файлы:
pbbcolortable_9c8f7.zip | 4,26 Кб | Скачали: 32
Делай добро и бросай его в воду, пусть плывет дальше...)
Сообщений: 85
• Mike •, Вот спасибо +
www.club-trade.ru ковыряюсь здесь
Сообщений: 84
Не подскажите - насколько трудно добавить - "Предварительный просмотр" рядом с "Отправить"?

Пользователи говорят, что не удобно без него.
Вообщем то да, и появляется - сообщение редактрировалось n-раз.
Наполнение ваших сайтов информацией — Адвего!
МедальАвторитет форума
Сообщений: 1002
Для стандартного редактора с ББ-кодами и без изенений файлов движка крайне проблематично, если делать качественно…
Если делать “настоящий реальный” WYSIWYG с подхватом стилей из шаблонов…
В случае, если, просто — посмотреть приблизительно без ББ-кодов — можно придумать (в тех же ББ-кодах) кнопочку просмотр к примеру…
Надо будет посмотреть…
Делай добро и бросай его в воду, пусть плывет дальше...)
В начало страницы 
|
Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.