2012-09-07 184 views
1

我正在使用SugarCRM v6.5,我非常新手。 在Leads中,我想在地址类型中添加一个字段以指示地址类型(即office,home,...)。所以在工作室里,我创建了这个字段“type_address”作为一个简单的下拉菜单(不知道这个词是用英语表示的,法语是“简单的选择”),我指出了用来填充它的选项。到目前为止,没关系,如果我将它显示在表单上,​​它会正确填充。但我想将其添加到地址栏,所以我开了包括\ SugarFields \域\地址\ fr_FR.EditView.tpl并添加这样一行:sugarCRM如何填充下拉菜单

<tr style="background-color: yellowgreen;"> 
<td valign="top" width='25%' scope='row' ><label for="{{$typeaddr}}">{sugar_translate label='LBL_{{$key}}_ADRESS_TYPE' module='{{$module}}'}:</label> 
{if $fields.{{$typeaddr}}.required || {{if $typeaddr|lower|in_array:$displayParams.required}}true{{else}}false{{/if}}} 
<span class="required">{$APP.LBL_REQUIRED_SYMBOL}</span> 
{/if} 
</td> 
<td> 
<select name="{{$typeaddr}}" id="{{$typeaddr}}" title='' > 
    {html_options options=$fields.{{$typeaddr}}.options } 
</select> 
</td> 
</tr> 

和模板顶部我把:

{{assign var="typeaddr" value=$displayParams.key|cat:'_adress_type_c'}} 

行显示,标签是好的,但下拉不填充。 我试图表明 选项列表\定制\延期\模块\信息\分机\ Vardefs \ sugarfields_primary_adress_type_c.php 这样的:

$dictionary['Lead']['fields']['primary_adress_type_c']['type'] = 'base'; 
$dictionary['Lead']['fields']['primary_adress_type_c']['options'] = 'list_name_as_created_in_studio'; 

我也试图把它放在\定制\ \模块信息\ metadata \ editviewdefs.php

0 => 
     array (
     'name' => 'primary_adress_type_c', 
     'studio' => 'visible', 
     'label' => 'LBL_PRIMARY_ADRESS_TYPE', 
     'type' => 'base', 
     'options' => list_name_as_created_in_studio', 
    ), 

我试着用enum和base。诀窍是,即使我把'枚举'和一个选项数组,它不会填充。

我没有看到我可以干扰它的工作,我肯定忘了做点什么。

欢迎任何帮助,甚至手动(我读了它,并没有发现任何帮助,但我可能会错过一些)

回答

1

在文件include\SugarFields\Fields\Address\fr_FR.EditView.tpl的链接,取代:

<select name="{{$typeaddr}}" id="{{$typeaddr}}" title='' > 
    {html_options options=$fields.{{$typeaddr}}.options } 
</select> 

有:

{html_options name=primary_adress_type_c options=$primary_adress_type_c_options selected=$fields.primary_adress_type_c.value} 

创建一个新文件custom/modules/Leads/views/view.edit.php与内容

<?php 
require_once('include/MVC/View/views/view.edit.php'); 
class LeadsViewEdit extends ViewEdit{ 

    public function LeadsViewEdit(){ 
     parent::ViewEdit(); 
    } 

    public function preDisplay() { 
    parent::preDisplay(); 
    $this->ss->assign('primary_adress_type_c_options', $GLOBALS['app_list_strings']['list_name_as_created_in_studio']); 
    } 

    public function display(){ 
     parent::display(); 
    } 
} 
?> 
+0

谢谢air4x,我本来可以搜索很久很久才找到这个......因为我有2个地址(主要和替代),我这样做:'{html_options name = {{$ typeaddr}} options = $ adress_type_c_options selected = $ fields。{{$ typeaddr}} value}'并在新文件中:'$ this-> ss-> assign('adress_type_c_options',$ GLOBALS ['app_list_strings'] ['list_name_as_created_in_studio' ]);' 再次感谢! – mariek