Аналогичный вопрос был опубликован здесь раньше, но он применим только к экземпляру SugarCRM на месте (это было также давно).
В моем случае я хотел бы изменить поле «Страна фактурирования» с «TextField» на «DropDdown» в экземпляре On-Demand, где у меня нет доступа к файлам конфигурации. Как я могу это сделать?
До сих пор я пробовал разные PHP-файлы с помощью модуля Loader, но он тоже не работает.
Пожалуйста, найдите мой PHP-скрипт ниже:
<?php $manifest = array( 'acceptable_sugar_flavors' => array('CE', 'PRO', 'CORP', 'ENT', 'ULT'), 'acceptable_sugar_versions' => array( 'exact_matches' => array(), 'regex_matches' => array( 0 => '6\\.5\\.(.*?)', 1 => '6\\.7\\.(.*?)', 2 => '7\\.2\\.(.*?)', 3 => '7\\.2\\.(.*?)\\.(.*?)', 4 => '7\\.5\\.(.*?)\\.(.*?)', 5 => '7\\.6\\.(.*?)\\.(.*?)' ), ), 'name' => 'Textfield to Dropdown', 'description' => 'Converting Billing Country textfield to Dropdown Field', 'author' => 'myname', 'icon' => '', 'is_uninstallable' => true, 'published_date' => '2015-01-09 19:00:00', 'type' => 'module', 'version' => '1.0', ); $dictionary['Account']['fields']['billing_address_country']['type'] = 'enum'; $dictionary['Account']['fields']['billing_address_country']['ext1'] = 'countries_dom';
Модуль загружается нормально, но после Quick Repair нет никаких изменений. Я также пробовал использовать следующие переменные:
$dictionary['Account']['fields']['billing_address_country']['isDropDown']=yes;
а также…
$dictionary['Account']['fields']['billing_address_country']['Options']='countries_dom';
Может ли кто-нибудь сказать мне, что я делаю неправильно? Буду признателен за любую помощь или руководство, которое у вас есть. Пожалуйста, порекомендуйте.
Cheers, H
PS Я использую SugarCRM On-Demand Version 7.6.1
Вам нужно создать файл manifest.php и указать на этот файл (ы), который вы хотите скопировать / загрузить для настройки:
manifest.php:
<?php $manifest = array( 'built_in_version' => '7.6.1.0', 'acceptable_sugar_versions' => array( 0 => '', ), 'acceptable_sugar_flavors' => array( 0 => 'PRO', 1 => 'CORP', 2 => 'ENT', 3 => 'ULT', ), 'readme' => '', 'key' => 'SO', 'author' => 'Eric', 'description' => 'Convert Accounts Billing Country TextField to Enum', 'icon' => '', 'is_uninstallable' => true, 'name' => 'TextFieldToDropdownPkg', 'published_date' => '2016-01-10 03:01:01', 'type' => 'module', 'version' => 1452378413, 'remove_tables' => 'prompt', ); $installdefs = array( 'id' => 'TextFieldToDropdownPkg', 'copy' => array( 0 => array( 'from' => '<basepath>/custom/Extension/modules/Accounts/Ext/Vardefs/custom_billing_address_country.php', 'to' => 'custom/Extension/modules/Accounts/Ext/Vardefs/custom_billing_address_country.php', ), ), );
Затем создайте:
пользовательские / расширения / модули / Счета / Ext / Vardefs / custom_billing_address_country.php
<?php $dictionary['Account']['fields']['billing_address_country']['comments']='Country for primary address'; $dictionary['Account']['fields']['billing_address_country']['group']='primary_address'; $dictionary['Account']['fields']['billing_address_country']['options']='countries_dom'; $dictionary['Account']['fields']['billing_address_country']['type']='enum';
Загрузите эти файлы и используйте модуль Loader.