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

Например, как на IPB

 
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1549
Столкнулась с этой проблемой. ББкодов форума очень мало! Нашла мини-доработку быстрого ответа, но это не совсем то - где
Код PHP:
  1. [img]
, например! Хотелось добавить ещё больше BB кодов!
Ребята, кто делал это себе? Поделитесь, будьте добры. :)
Редактировалось: 2 раз (Последний: 2 октября 2010 в 09:11)
Люблю эту CMS!
Я немного художествую тут: http://virelart.ru :)
Пока по большей части выкладываюсь тут vk.com/virelart. p.s.: пасибки можно в карму :3
Посетитель
small user social cms
Медаль
Сообщений: 296
вопрос остался без ответа а ведь актуально!!!
Реклама
cms
Посетитель
no avatar
Сообщений: 41
Кнопки с функциями находятся здесь: core/classes/page.class.php
Я себе сделал дополнительную кнопку "Линия" и вживил выделение текста цветом(цвета- выпадающее меню).
Как сделать дополнительные BB коды в форуме

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

правильные автоссылки;
исправлена проблема при цитировании автора с ником из нескольких слов #292;
множественные исправления js формы добавления bb кодов #297 #363;
поддержка плагинов для кнопок формы добавления (GET_BBCODE_BUTTON) ;
«Главное “настрой”! И всё настроиться…» © ) Их знают все! А вы?
Посетитель
no avatar
Сообщений: 41
• Mike •, можно для тех, кто "в танке"?...
Редактировалось: 1 раз (Последний: 27 января 2012 в 01:35)
Модератор
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 1675
Если коротко, то появилась возможность добавлять код дополнительных кнопок BBcode с помощью плагина…
В файле /core/classes/page.class.php в функции getBBCodeToolbar появилась в самом конце строка (~884)
Код PHP:
  1. $html = cmsCore::callEvent('GET_BBCODE_BUTTON', $html);
Которая обозначает что если написать плагин использующий этот вызов, то в конец списка кнопок редактора добавиться код новой кнопки…
Потом пишем плагин(только для примера /plugins/p_trio_bb/plugin.php):
Код PHP:
  1.  
  2. <?php
  3.  
  4. class p_trio_bb extends cmsPlugin {
  5.  
  6. // ==================================================================== //
  7.  
  8. public function __construct(){
  9.  
  10. parent::__construct();
  11.  
  12. $this->info['plugin'] = 'p_trio_bb';
  13. $this->info['title'] = 'Demo Add BBcode';
  14. $this->info['description'] = 'Демо добавления кнопок для ББ-кодов';
  15. $this->info['author'] = '• Mike •';
  16. $this->info['version'] = '0.1';
  17. $this->info['type'] = 'BBcode';
  18.  
  19. $this->events[] = 'GET_BBCODE_BUTTON';
  20.  
  21. }
  22.  
  23. // ==================================================================== //
  24.  
  25. public function install(){
  26.  
  27. return parent::install();
  28.  
  29. }
  30.  
  31. // ==================================================================== //
  32.  
  33. public function upgrade(){
  34.  
  35. return parent::upgrade();
  36.  
  37. }
  38.  
  39. // ==================================================================== //
  40.  
  41. public function execute($event, $html){
  42.  
  43. parent::execute();
  44.  
  45. $html .= '<a class="usr_bb_button" href="javascript:addTag(\''.$field_id.'\', \'[h1]\', \'[/h1]\')" title="Большой заголовок">
  46. <img src="/includes/bbcode/images/h1.png" border="0" alt="Большой заголовок" />
  47. </a>
  48. <a class="usr_bb_button" href="javascript:addTag(\''.$field_id.'\', \'[h2]\', \'[/h2]\')" title="Средний заголовок">
  49. <img src="/includes/bbcode/images/h2.png" border="0" alt="Средний заголовок" />
  50. </a>
  51. <a class="usr_bb_button" href="javascript:addTag(\''.$field_id.'\', \'[h3]\', \'[/h3]\')" title="Маленький заголовок">
  52. <img src="/includes/bbcode/images/h3.png" border="0" alt="Маленький заголовок" />';
  53.  
  54. return $html;
  55. }
  56.  
  57.  
  58. // ==================================================================== //
  59.  
  60. }
  61.  
  62. ?>
  63.  
закидываем в директорию /plugins/p_trio_bb/ инсталируем и включаем в админке переходим на сайт и видим копию трех кнопочек с заголовками 1-3 уровня…
соответственно коды добавляем свои следуя правилам функции getBBCodeToolbar
«Главное “настрой”! И всё настроиться…» © ) Их знают все! А вы?
Посетитель
no avatar
Сообщений: 41
Как-то мудрено. У меня проще получилось. Просто прописал дополнительные кнопки и всё. Зачем что-то устанавливать?
Тем более что некоторые распространенные BB коды не воспринимаются, примером тому создание списка.
Модератор
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 1675
можно целиком заменить стандартную панель если убрать (.) точку перед = в строке $html = .......
«Главное “настрой”! И всё настроиться…» © ) Их знают все! А вы?
Модератор
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 1675
мудрёно что? написать свои строки в $html .= ''? так вы их и так написали только добавляли исправляя файлы движка, а так у вас будет плагин, и например при обновлении с версии на версию не нужно будет вспоминать где что и как правили вносили дополняли… ) а всё остальное я написал дайте свое название папке с плагином заполните блок информации сверху и функцию переименуйте, больше ничего сложного…
«Главное “настрой”! И всё настроиться…» © ) Их знают все! А вы?
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 614
Vyatich:

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

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

Выделение цветом вот тут хорошо реализовано instantcms.ru/blogs/zametki-polzovatelja/menjaem-cvet-shrifta-v-komentarijah.html
Я поставил, удобно и цветов много, взято на примере форума phpbb
Модератор
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 1675
Алфей:
Выделение цветом вот тут хорошо реализовано instantcms.ru/blogs/zametki-polzovatelja/menjaem-cvet-shrifta-v-komentarijah.html
Я поставил, удобно и цветов много, взято на примере форума phpbb
к вечеру сделаю в виде плагина под версию 1.9…
«Главное “настрой”! И всё настроиться…» © ) Их знают все! А вы?
Модератор
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 1675
Собственно уже есть, но проверялся только на чистой установке 1.9, в принципе конфликтовать ни с чем не должен…
Файл во вложении (распаковываем содержимое архива в корень сайта, устанавливаем в админке (добавить плагины) и включаем… всё… работает везде где стандартный редактор ББ-кодов используется, ничего руками править не нужно…
Успехов…
Прикрепленные файлы:
pbbcolortable_9c8f7.zip | 4.26 Кб | Скачали: 632
«Главное “настрой”! И всё настроиться…» © ) Их знают все! А вы?
Посетитель
small user social cms
Медаль
Сообщений: 296
• Mike •, Вот спасибо +
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 132
Не подскажите - насколько трудно добавить - "Предварительный просмотр" рядом с "Отправить"?

Пользователи говорят, что не удобно без него.
Вообщем то да, и появляется - сообщение редактрировалось n-раз.
Модератор
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 1675
Для стандартного редактора с ББ-кодами и без изенений файлов движка крайне проблематично, если делать качественно…
Если делать “настоящий реальный” WYSIWYG с подхватом стилей из шаблонов…
В случае, если, просто — посмотреть приблизительно без ББ-кодов — можно придумать (в тех же ББ-кодах) кнопочку просмотр к примеру…
Надо будет посмотреть…
«Главное “настрой”! И всё настроиться…» © ) Их знают все! А вы?
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.