CakePHP Form Helper: Выберите помощник не по умолчанию определенные пользовательские поля - PullRequest
0 голосов
/ 06 сентября 2011

У меня проблема с помощником выбора формы. На моей странице есть две формы.

Одна форма быстрого поиска. Этот использует state_id. При поиске в URL: state_id: CO Это автоматически выберет правильное значение в выпадающем списке.

Однако, когда я ищу с расширенной формой. Поле является trail_state_id и в URL: trail_state_id: CO По некоторым причинам это не будет по умолчанию это к правильному значению. Он просто сбрасывает форму без выбора. Значения ищутся правильно, только помощник формы не распознает, что поле с тем же именем в URL установлено. Есть мысли?

<?php 
class Trail extends AppModel {
    public $filterArgs = array(
        array('name' => 'state_id','field'=>'Area.state_id', 'type' => 'value'),
        array('name'=>'trail_state_id','field'=>'Area.state_id','type'=> 'value'),
        );
    }

?>

в URL: trail_state_id: CO

<?php
    echo '<h4>State*:</h4><div>'.$this->Form->select('trail_state_id', $stateSelectList, null, array('style'=>'width:200px;','escape' => false,'class'=> 'enhanced required','empty'=> false));
    ?>

1 Ответ

0 голосов
/ 06 сентября 2011

Используя 3-й аргумент в помощнике, вы можете установить значение по умолчанию.Я сделал это следующим образом:

echo '<h4>State*:</h4><div>'.$this->Form->select('trail_state_id', $stateSelectList, (empty($this->params['named']['trail_state_id']) ? null: $this->params['named']['trail_state_id']), array('style'=>'width:200px;','escape' => false,'class'=> 'enhanced required','empty'=> false));
...