Привет,
Запросов на эту фичу хватает. Вроде уже было какое-то описано решение, но найти его не смог:)
Для подсветки решил попробоватьCodeMirror . [spoiler] На сайте разработчика можно скачать библиотеку и использовать у себя на сайте. В своей реализации я решил не качать библиотеку, а подключать прямо с http://codemirror.net/ , так сказать для простоты, меньше телодвижений.
Для реализации подсветки php-синтаксиса вставляем в /bitrix/php_interface/init.php следующее:
После этого в административной части сайте при редактировании в режиме PHP будет подсвечиваться синтаксис, работать табуляция, отображаться номера строк и т.п. Подсвечиваться будет только PHP.
Код до:

Код после:

Обработчик можно переделать и подключать скрипты и стили локально, чтобы не зависеть от работоспособности сайта разработчика CodeMirror.
Запросов на эту фичу хватает. Вроде уже было какое-то описано решение, но найти его не смог:)
Для подсветки решил попробовать
Для реализации подсветки php-синтаксиса вставляем в /bitrix/php_interface/init.php следующее:
<? if ($_SERVER['SCRIPT_NAME']=="/bitrix/admin/fileman_file_edit.php") { AddEventHandler("main", "OnEpilog", "InitPHPHighlight"); function InitPHPHighlight() { global $APPLICATION; $string='<link rel="stylesheet" href="http://codemirror.net/lib/codemirror.css"> <script src="http://codemirror.net/lib/codemirror.js"></script> <script src="http://codemirror.net/mode/xml/xml.js"></script> <link rel="stylesheet" href="http://codemirror.net/mode/javascript/javascript.css"> <link rel="stylesheet" href="http://codemirror.net/mode/clike/clike.css"> <script src="http://codemirror.net/mode/javascript/javascript.js"></script> <script src="http://codemirror.net/mode/php/php.js"></script> <script src="http://codemirror.net/mode/clike/clike.js"></script> <style> .CodeMirror { overflow: auto; background:white; height: 500px; width: 1100px; line-height: 1em; font-family: inherit; } .CodeMirror pre{ font-size:14px; line-height: 1.3em; } .activeline {background: #E6E6FA !important;} </style>'; $init='<script type=\'text/javascript\'> BX.ready(function(){ var nl=document.getElementsByTagName("textarea"); var editor = CodeMirror.fromTextArea(nl[0], { lineNumbers: true, matchBrackets: true, mode: "application/x-httpd-php", indentUnit: 8, indentWithTabs: true, enterMode: "keep", tabMode: "classic", onCursorActivity: function() { editor.setLineClass(hlLine, null); hlLine = editor.setLineClass(editor.getCursor().line, "activeline"); } }); var hlLine = editor.setLineClass(0, "activeline"); }); </script>'; $APPLICATION->AddHeadString($string); $APPLICATION->AddHeadString($init); } } ?> |
После этого в административной части сайте при редактировании в режиме PHP будет подсвечиваться синтаксис, работать табуляция, отображаться номера строк и т.п. Подсвечиваться будет только PHP.
Код до:

Код после:

Обработчик можно переделать и подключать скрипты и стили локально, чтобы не зависеть от работоспособности сайта разработчика CodeMirror.