0

私は非常に新しい V-Tiger CRM です。私が達成したいのは、ベンダーの作成フォームにカスタムのピックリストがあります。PickList 値を追加することでデータを入力できることはわかっています。しかし、カスタム データベース テーブルから国籍を取得したいと考えています。私の国籍テーブルは ( nationality_id nationality_name ) のようになります。これらの値をベンダー作成フォームのカスタム ピックリストにフェッチする必要があります

4

1 に答える 1

0

以下のようにカスタマイズを使用して達成できます。

  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: 指定された場所に新しいファイルを作成する

\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 に答える