2016-05-16 65 views
0

我是非常新的V-Tiger CRM。我想实现的是我在Create Vendor表单中有一个自定义选项列表。我知道我可以通过添加PickList值来填充它。但我想从我的自定义数据库表中获取国籍。 我的国籍表看起来像(nationality_id nationality_name)。我需要在我vendore获取这些值来定制选择列表创建表单V-Tiger 6如何使用数据库值创建选择列表

回答

0

您可以通过如下定制achive它:

  1. 打开modules\Vendors\views\Edit.php

process函数中添加以下代码:

$sql_get = 'SELECT * FROM nationality_table_name'; 
$sql_get_result = $adb->query($sql_get); 
for($i=0;$i<$adb->num_rows($sql_get_result);$i++){ 
    $nationality[$i]['code'] = $adb->query_result($sql_get_result,$i,'nationality_id'); 
    $nationality[$i]['name'] = $adb->query_result($sql_get_result,$i,'nationality_name'); 
}  
$viewer->assign('nationality', $nationality);  
parent::process($request); 

2:在给定位置创建新文件

\布局\ vlayout \模块\供应商\ uitypes \ Picklist.tpl

{strip} 
{assign var="FIELD_INFO" value=Zend_Json::encode($FIELD_MODEL->getFieldInfo())} 
{assign var=PICKLIST_VALUES value=$FIELD_MODEL->getPicklistValues()} 
{assign var="SPECIAL_VALIDATOR" value=$FIELD_MODEL->getValidator()} 
{assign var=FIELD_NAME value=$FIELD_MODEL->getFieldName()} 

{assign var=FIELD_NAME value=$FIELD_MODEL->getFieldName()} 

{if $FIELD_NAME eq 'nationality_dropdown_name'} 
<select class="chzn-select {if $OCCUPY_COMPLETE_WIDTH} row-fluid {/if}" name="{$FIELD_NAME}" data-validation-engine="validate[{if $FIELD_MODEL->isMandatory() eq true} required,{/if}funcCall[Vtiger_Base_Validator_Js.invokeValidation]]" data-fieldinfo='{$FIELD_INFO|escape}' {if !empty($SPECIAL_VALIDATOR)}data-validator='{Zend_Json::encode($SPECIAL_VALIDATOR)}'{/if} data-selected-value='{$FIELD_MODEL->get('fieldvalue')}'> 
{if $FIELD_MODEL->isEmptyPicklistOptionAllowed()}<option value="">{vtranslate('LBL_SELECT_OPTION','Vtiger')}</option>{/if} 
{foreach item=PICKLIST_VALUE key=PICKLIST_NAME from=$nationality} 
      <option value="{$PICKLIST_VALUE['code']}" {if trim(decode_html($FIELD_MODEL->get('fieldvalue'))) eq trim($PICKLIST_VALUE['code'])} selected {/if}>{$PICKLIST_VALUE['name']}</option> 
{/foreach} 
</select> 
{/if}  
{/strip} 

请更新代码,按您的字段名和测试。干杯!!

+0

你好,感谢您的回复....我正在使用Vtiger 6.4。可能是因为你提出的两个地点都不在我身边。在我有upto供应商的布局。但在供应商文件夹我资源文件夹,并在该文件夹中只是一个js文件。在“模块”区域中,我拥有与上述供应商相同的文件夹结构。里面,我没有意见文件夹,而不是有模型文件夹和vendors.php文件 – Arun

+0

如果文件夹不存在,那么你已经创建了这些文件夹。例如如果views文件夹不存在,则在特定位置创建views文件夹并创建新的Edit.php文件。您可以参考其他模块的Edit.php格式 – sAcH

相关问题