В том, что в студии я создал несколько полей в одном модуле, и я также добавляю эти поля в макет. но я хочу отображать поля в соответствии с выбором, например: если пользователь выбирает option-1 из выпадающего поля, то он должен отображать только три поля, и если пользователь выбирает option-2 из выпадающего поля, то он должен показать, например, шесть полей. поэтому мне нужно добавить какое-то условие в поле макета. но я не могу найти там никакого варианта. Пожалуйста, помогите мне узнать. Я также добавил пример ниже.Как добавить условие для поля в макет SuiteCRM.?
ответ
Вам необходимо изменить определение представлений, чтобы добавить скрипт в режим редактирования вашего модуля.
Пример:
$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 для детального
Если вы используете сахар 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
},
})
Есть много способов, определенных в SugarCRM, как вы создали новые поля, все, что вам нужно добавить зависимость от этих полей, как
$dictionary['YOUR_MODULE_NAME']['fields']['YOUR_FIELD_NAME']['dependency']='(equal($YOUR_DROPDOWN,"OPTION_1"))
Это также можно добавить через Studio. Перейти к Studio> module> fields> YOUR_FIELD> Зависит и добавьте зависимость.
Amitesh, думаю, вы могли бы зайти в чат для меня, чтобы помочь понять это для подобной ситуации? – GeorgeWL