- Автор: wget
- Обсудить на :на форуме
- Адаптировал: wget
- Уровень сложности исполнения: это делается простым копированием и нажиманием кнопки
Для начала был выбран js-скрипт для подсветки кода в браузере - jquery-syntaxhighlighter. 1. Скачаем и распакуем в папку с шаблоном наш Вы не можете скачивать файлы с нашего сайта ,рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем. . 2. Oн требует jquery, так что если ваш шаблон не использует его, то его тоже надо подключить.
<head><script type="text/javascript" src="{tpl_url}/syntaxhighlighter/scripts/jquery-1.4.2.min.js"></script></head>
После того, как мы подключили JQuery, нужно подключить Highlighter и проинициализировать его:
<script type="text/javascript" src="{tpl_url}/syntaxhighlighter/scripts/jquery.syntaxhighlighter.min.js"></script><script type="text/javascript">$.SyntaxHighlighter.init();</script>
Готово! Больше никаких правок в шаблон вносить не надо.
Теперь открываем engine/includes/classes/parse.class.php. Наш тег [ code ] будет использоваться так - [ code=<язык> ], поэтому будем изменять регулярку. Ищем такой фрагмент:
// Special BB tag [ code] - blocks all other tags inside while (preg_match("#\[code\](.+?)\[/code\]#ies", $content, $res)) {$content = str_replace($res[0], '<pre>'.str_replace(array('[', '<'), array('[', '<'), $res[1]).'</pre>', $content); }
// Special BB tag [ code] - blocks all other tags inside // assd: replaced: [code\] => [code=(.*?)\] | '<pre>' => '<pre class="brush:'.$res[1].'">' | $res[1]).'</pre>' => $res[2]).'</pre>' while (preg_match("#\[code=(.*?)\](.+?)\[/code\]#ies", $content, $res)) {$content = str_replace($res[0], '<pre class="language-'.$res[1].'">'.str_replace(array('[', '<'), array('[', '<'), $res[2]).'</pre>', $content); $content = str_replace(' ', "\n", $content); }
Далее ищем:
$content = preg_replace("/<code>(.*?)<\/code>/es", "phphighlight('$1')", $content); $content = str_replace("\n</p>\n", "</p>", $content);
#Added to prevent adding s in highlighted code preg_match_all("#<pre class=\\\"brush: (.*?)\\\">(.+?)</pre>#ies", $content, $ress); foreach ($ress as $res) { $content = str_replace($res[0],str_replace('<br />', "\n", $res[0]),$content); }
Можешь почитать и вот эту статейку "Basket-еще одна модификация для увеличения количества товара при добавлении"
Это тоже интересно
- 13.08.13Notepad++
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.