Включить файл .js в SuiteCRM (v.> 7) не работает - PullRequest
0 голосов
/ 14 мая 2019

Я новичок в мире SuiteCRM.Я пытаюсь включить новый файл .js в модуль, но, похоже, не работает.

Я видел, что в Sugar версии 6.5 для включения файла .js достаточно сделать что-то подобное

$viewdefs[$module_name]['EditView']['templateMeta']['includes'] =
array (
    array (
        'file' => 'modules/demo_demo_form/demo.js',
    ),

); 

Я также читал, что в более новой версии (7>) он изменилспособ включить файл .js.

Я пробовал разные способы *, но, похоже, не работает.

 $js_groupings[$module_name]['modules/demo_demo_form/demo.js'] = 
 'include/modules/demo_demo_form/demo.js';

Есть предложения?

1 Ответ

0 голосов
/ 14 мая 2019

Думаю, мой предыдущий ответ на другой похожий вопрос поможет вам

Сначала включите ваш пользовательский JS в editviewdefs.php (пример для модуля Счета)

'includes' => 
      array (
        0 => 
        array (
          'file' => 'modules/Accounts/Account.js',
          'file' => 'custom/modules/Accounts/myCustomFile.js',
        ),
      ),

Создайте пользовательский файл JS custom/modules/Accounts/myCustomFile.js.

function yourCustomFunction(formElement){
  console.log(formElement); 
}

Затем обновите поле, которое вы хотите отслеживать на предмет изменений (в этом случае ContractSigned_c), используя следующий код в файле editviewdefs.php:

array (
            'name' => 'contractsigned_c',
            'label' => 'LBL_CONTRACTSIGNED',
            'displayParams' =>
             array (
              'updateCallback' => 'yourCustomFunction(this)',
          ),
          ),

Теперь сделайте Repair and Rebuild внутри раздела Admin / Repair и вуаля, это должно работать :)

Вы можете добавить функцию JS на function display(), если хотите, то же самое,функция будет вызываться сразу после нативного combo update.Это будет выглядеть так combo_contractsigned_c.update(); yourCustomFunction(this)

...