SugarCRM реализует вызовы AJAX для полей пользовательского модуля

Как я могу реализовать вызовы AJAX для одного из полей моего пользовательского модуля. Мое требование: когда мы меняем какой-либо раскрывающийся список, он должен проверять базу данных и обновлять результат в другом поле на том же экране. Для обычных модулей я вижу файлы .tpl, в которые я могу вставить код сценария и вызвать. Но для пользовательских модулей я не видел файлов .tpl, кроме каталога кеша (который генерирует среду выполнения). Есть ли способ реализовать.

Я использую Sugar Professional.


person AjayR    schedule 09.06.2011    source источник


Ответы (1)


Вот шаги, которые вам нужно выполнить

  1. Создайте файл .php, который будет считывать значения со строкой запроса и обрабатывать результат как эхо/печать.
  2. Перейдите к editviewdefs.php в каталоге вашего пользовательского модуля (например, /custom/modules/...)
  3. Найдите имя своего поля и вызовите функцию javascript

        array (
            'name' => 'days_required_c',
            'label' => 'LBL_DAYS_REQUIRED',
            'displayParams' => 
            array (
              'field' => 
              array (
                'onChange' => 'setRenewalDate();',
              ),
            ),
          ),
    
  4. Здесь RenewalDate — имя вашей функции javascript.

  5. Создайте функцию сценария, которая будет вызывать функции AJAX, как показано ниже.

    var connectionObject = 
    YAHOO.util.Connect.asyncRequest ("GET", "getnextnum.php", callback);
    YAHOO.util.Event.onContentReady("EditView", function () {
        ldelim
    } 
    
    initEditView(document.forms.EditView);
    
    //alert("Loaded"); 
    //document.getElementById("keyid_c").value = initCall();
    
    {}
    

    );

person AjayR    schedule 15.06.2011