2016-09-22 7 views
2

В том, что в студии я создал несколько полей в одном модуле, и я также добавляю эти поля в макет. но я хочу отображать поля в соответствии с выбором, например: если пользователь выбирает option-1 из выпадающего поля, то он должен отображать только три поля, и если пользователь выбирает option-2 из выпадающего поля, то он должен показать, например, шесть полей. поэтому мне нужно добавить какое-то условие в поле макета. но я не могу найти там никакого варианта. Пожалуйста, помогите мне узнать. Я также добавил пример ниже.Как добавить условие для поля в макет SuiteCRM.?

one

ответ

0

Вам необходимо изменить определение представлений, чтобы добавить скрипт в режим редактирования вашего модуля.

Пример:

$viewdefs ['<Module Name>'] = 
    array(
     '<View Name>View' => 
      array(
       'templateMeta' => 
        array(
         ... 
         'includes' => 
          array(
           0 => 
            array(
             'file' => 'path/to/your/script.js', 
            ), 
           1 => 
            array(
             'file' => 'path/to/your/script.js', 
            ), 
          ), 
         ... 
        ), 
        ... 
      ), 
      ... 
    ); 

Затем вы можете использовать JQuery или любой библиотеку JavaScript, чтобы скрыть или отобразить поля. если вы используете тему SuiteR или SuiteP, вы можете просто добавить/удалить скрытый класс для элементов.

Просто убедитесь, что вы добавили все поля в свое представление, которое вы хотите показать или скрыть.

Чтобы сделать это обновление сохранить изменения или создавать

  • пользовательские/модули // метаданных/editviewdefs.php для вида редактирования
  • пользовательских/модули // метаданных/detailviewdefs.php для детального
0

Если вы используете сахар 7.6 я могу помочь,

вы хотите изменить поля в соответствии с выпадающие значения, если я не ошибаюсь. Для этого вы должны указать код в файлах «record.js» и «create-actions.js». просто напишите функцию js. Это пример для crerate-action.js

({ 
    extendsFrom: 'CreateActionsView', 
    initialize: function (options) { 
     this.model.on("change:dropdown", this.renderFields, this); 
    }, 

    renderFields: function() { 

     // write your code here 

    }, 


}) 
+0

Amitesh, думаю, вы могли бы зайти в чат для меня, чтобы помочь понять это для подобной ситуации? – GeorgeWL

0

Есть много способов, определенных в SugarCRM, как вы создали новые поля, все, что вам нужно добавить зависимость от этих полей, как

$dictionary['YOUR_MODULE_NAME']['fields']['YOUR_FIELD_NAME']['dependency']='(equal($YOUR_DROPDOWN,"OPTION_1")) 

см. http://support.sugarcrm.com/Documentation/Sugar_Developer/Sugar_Developer_Guide_7.7/Architecture/Sugar_Logic/Dependency_Actions/SetVisibility/#Visibility_Dependencies_in_Field_Definitions

Это также можно добавить через Studio. Перейти к Studio> module> fields> YOUR_FIELD> Зависит и добавьте зависимость.