0

我从https://github.com/lecterror/cakephp-filter-plugin安装了一个插件过滤器。

如何重命名下拉栏中的值?

现在我可以选择:

[ ]
[0]
[1]

我需要的是:

[ ]
[Agent]
[Investor]

.

public $filters = array(
    'index' => array(
        'Model' => array( 
            'Model.Tablename' => array('label' => 'Find'),
            'Model.Tablename' => array(
                'label' => 'Position type',
                'type' => 'select',
                'selectOptions' => array (
                    0 => 'Agent',
                    1 => 'Investor'
                )
            )
        )
    )
);

在选择器类型中,我想将 0 重命名为 Agent,将 1 重命名为 Investor。

4

1 回答 1

0

自己找:

//plugincode-----> filter_form_fields

  foreach ($viewFilterParams as $field) {
        // Edited on  28-03-2013 
        // check if option type is select.
        if ($field['options']['type'] == "select") {
            // check for all option values ( 0,1,2,3,4 ect ) and rename it with optionNewValue
            foreach ($field['options']['options'] as $optionvalue) {
                $optionNewValue = $field['options']['OptionKey'][$optionvalue];
                // Rename the optionvalue
                $field['options']['options'][$optionvalue] = $optionNewValue;
            }
        }

// filtercomponent.ctp 添加(插件代码)

// Optionkey 给出值 filter_form_fields // 在控制器内部使用 Optionkey => array() 重命名值 $options['OptionKey'] = $settings['OptionKey'];

现在你可以放入控制器

'index' => array(
        'Model' => array( 
            'Model.Tablename' => array('label' => 'Find'),
            'Model.Tablename' => array(
                'label' => 'Position type',
                 'type' => 'select',
                'OptionKey' => array (
                    0 => 'agent',
                    1 => 'investor'

            )
        )
    )
);

:D:D:D:D:D

于 2013-03-28T13:21:11.773 回答