Se hai la necessità di trasformare il campo di testo Nazione in un elenco a discesa ad esempio nel modulo Contacts di SuiteCRM segui i seguenti passi.
1) Creare il vardef per il tuo campo Nazione
custom/Extension/modules/Contacts/Ext/Vardefs/primary_address_country_elenco.php
1 2 3 4 5 6 7 8 |
<?php $dictionary['Contact']['fields']['primary_address_country']['comments']='Country for primary address'; $dictionary['Contact']['fields']['primary_address_country']['group']='primary_address'; $dictionary['Contact']['fields']['primary_address_country']['options']='countries_dom'; $dictionary['Contact']['fields']['primary_address_country']['type']='enum'; ?> |
2) Create una nuova cartella “PrimaryAddressCountryElenco”
/custom/include/SugarFields/Fields/PrimaryAddressCountryElenco/
Quindi copiate il file del modello
/include/SugarFields/Fields/Address/EditView.tpl
all’interno della cartella precedentemente creata
/custom/include/SugarFields/Fields/PrimaryAddressCountryElenco/EditView.tpl
3) Modificate la copia di EditView.tpl nella nuova cartella
Trovate questa linea
1 2 3 4 5 |
<input type="text" name="{{$country}}" id="{{$country}}" size="{{$displayParams.size|default:30}}" {{if !empty($vardef.len)}}maxlength='{{$vardef.len}}'{{/if}} value='{$fields.{{$country}}.value}' {{if !empty($tabindex)}} tabindex="{{$tabindex}}" {{/if}}> |
e sostituitela con
1 2 3 4 5 6 7 8 9 10 11 12 |
<select name="{{$country}}" width="{{$displayParams.size|default:30}}" id="{{$country}}" title="{{$vardef.help}}" tabindex="{{$tabindex}}" {{if isset($displayParams.script)}}{{$displayParams.script}}{{/if}}> {if isset($fields.{{$country}}.value) && $fields.{{$country}}.value != ''} {html_options options=$fields.{{$country}}.options selected=$fields.{{$country}}.value} {else} {html_options options=$fields.{{$country}}.options selected=$fields.{{$country}}.default_value} {/if} </select> |
4) Modificate il file editviewdefs.php che si trova in
/custom/modules/Contact/metadata/editviewdefs.php
cambiando il “type” ossia inserendo il nome del campo “PrimaryAddressCountryElenco”.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
0 => array ( 'name' => 'primary_address_street', 'hideLabel' => true, 'type' => 'address', 'type' => 'PrimaryAddressCountryElenco', 'displayParams' => array ( 'key' => 'primary', 'rows' => 2, 'cols' => 30, 'maxlength' => 150, ), ), |
5) Effettuare un Quick Repair and Rebuild da Admin -> Repair