Посмотрел как сделал сам битрикс:
Сложный функционал на JS
/bitrix/modules/fileman/install/js/fileman/light_editor/le_c ore.js
Код, который отвечает за подключение JS в нужном месте
/classes/general/light_editor.php
См строку 179 InitScripts
За локализацию отвечает метод InitLangMess, который инклудит скрипт с массивом языковых фраз
Которые тут же и собираются из обычного LANG-файла.
Вопросы к коллегам:
вы делаете так же или можно проще?
Сложный функционал на JS
/bitrix/modules/fileman/install/js/fileman/light_editor/le_c
Код, который отвечает за подключение JS в нужном месте
/classes/general/light_editor.php
См строку 179 InitScripts
Код |
---|
<sc ript> function LoadLHE_<?=$this->Id?>() { // Load css if (!window .BXLHEStyles) { BX .loadCSS('<?=$this->cssPath?>'); window .BXLHEStyles = true; } var arScripts = [<?for ($i = 0, $l = count($this->arJSPath); $i < $l; $i++){echo '\''.$this->arJSPath[$i].'\''.($i == $l - 1 ? '' : ',');}?>]; BX .loadScript(arScripts, f unction() { // Place to add user script try{ <?= $scripts?> }catch(e){a lert('Errors in customization scripts! ' + e);} /*s etTimeout(f unction() {*/ top.<?=$this->jsObjName?> = wind ow .<?=$this->jsObjName?> = new window .JCLightHTMLEditor(<?=CUtil::PhpToJSObject($this->JSConfig)?>); /*}, 100);*/ }); } <?if(!$this->bInitByJS):?> BX .ready(f unction() {LoadLHE_<?=$this->Id?>();}); <?endif;?> </sc ript><? |
За локализацию отвечает метод InitLangMess, который инклудит скрипт с массивом языковых фраз
Код |
---|
$langPath = $_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/fileman/lang/'.LANGUAGE_ID.'/classes/general/light_editor_js.php'; if(file_exists($langPath)) include($langPath); else $langPath = $_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/fileman/lang/en/classes/general/light_editor_js.php'; ?><sc ript>LHE_MESS = wind ow .LHE_MESS = <?=CUtil::PhpToJSObject($MESS)?>;</sc ript><? |
Вопросы к коллегам:
вы делаете так же или можно проще?