2016-01-10 3 views
3

Подобный вопрос был отправлен здесь раньше, но он применим только к экземпляру SugarCRM на месте (это было давно.).SugarCRM On-Demand Преобразование TextField в DropDown

В моем случае я хотел бы изменить поле «Страна фактурирования» с «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'; 

Модуль загружает нормально, но нет никаких изменений после быстрого ремонта. Я попытался с помощью следующих переменных, а также:

$dictionary['Account']['fields']['billing_address_country']['isDropDown']=yes; 

и ...

$dictionary['Account']['fields']['billing_address_country']['Options']='countries_dom'; 

Может кто-нибудь сказать мне, что я делаю неправильно? Буду признателен за любую помощь или руководство, которое у вас есть. Пожалуйста, порекомендуйте.

Приветствия, Н

P.S. Я использую SugarCRM On-Demand версии 7.6.1

ответ

1

Вам нужно создать файл manifest.php и иметь эту точку в файл (ы) вы хотите скопировать/закачивать для настройки:

манифеста .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'; 

Заполните эти файлы и используйте загрузчик модулей.

+0

Спасибо, Карл. Видимо, у меня есть разрешение, и я не смог «скопировать в обычай/....» Я открыл билет. После решения я попробую еще раз и дам вам знать результат. – Eric

+0

он работал как шарм! Спасибо – Eric

+0

@ Эрик, проблем нет! –

Смежные вопросы