Посмотрел как сделал сам битрикс:
Сложный функционал на 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><? |
Вопросы к коллегам:
вы делаете так же или можно проще?