2013-03-27 4 views
0

У меня есть плагин-фильтр, установленный с https://github.com/lecterror/cakephp-filter-plugin.Cakephp plugin filter rename select

Как можно переименовать значения в выпадающем меню?

Сейчас я могу выбрать между:

[ ] 
[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 в Агент и 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 дает values ​​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