CakePHP表单助手:选择助手不是默认某些自定义字段

时间:2011-09-06 18:57:25

标签: php cakephp form-helpers

我遇到了表单选择帮助器的问题。在我的页面上,我有两种形式。

一个是快速搜索表单。这个使用state_id。 在URL中搜索:state_id:CO 这将在下拉列表中自动选择正确的值。

然而,当我使用高级表单搜索时。 Field是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 :(得分:0)

使用帮助程序中的第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));