Очередное задание — на Битрикс форум посвященный Excel и скриптовому программированию под него Visual Basic попросили сделать подсветку кода.
Из готовых реализаций ничего подобного не нашел, пришлось делать самому:
- Качаем скрипт с офсайта http://alexgorbatchev.com/SyntaxHighlighter/ и заливаем его в корень сайта в папку /syntax/
- Подключаем нужные скрипты в темплейте чтения темы (в моем случае именно VisualBasic — скрипт shBrushVb.js)
1234<script type=«text/javascript» src=«/syntax/scripts/shCore.js»></script><script type=«text/javascript» src=«/syntax/scripts/shBrushVb.js»></script><link type=«text/css» rel=«stylesheet» href=«/syntax/styles/shCoreDefault.css»/><script type=«text/javascript»>SyntaxHighlighter.all();</script>
- Cоздаем шаблон в компонентах /bitrix/components/ bitrix/forum.message.template/templates/planeta (из дефолтного)
- В этом шаблоне перед div porum-post-text делаем замену тега [pre] на [pre class=»brush: vb;»] (скобки конечно же НЕ квадратные)
- Правим шаблон чтения темы …../forum.topic.read/.default/template.php — в местах инклуда forum.message.template со стандартным шаблоном, заменяем на инклуд с новым шаблоном planeta
Всё!
Результат например тут.