Очередное задание – на Битрикс форум посвященный 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
Всё!
Результат например тут.