我是非常新的 V-Tiger CRM。我想要实现的是。我在 Create Vendor 表单中有一个自定义选项列表。我知道我可以通过添加 PickList 值来填充它。但我想从我的自定义数据库表中获取国籍。我的国籍表看起来像(nationality_id nationality_name)。我需要将这些值获取到我的 vendore 创建表单中的自定义选项列表
问问题
1564 次
1 回答
0
您可以使用以下自定义来实现它:
- 打开
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:在给定位置创建新文件
\layouts\vlayout\modules\Vendors\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}
请根据您的字段名更新代码并进行测试。干杯!!
于 2016-05-16T13:36:59.973 回答