duang8642 2012-02-22 09:43 采纳率: 0%
浏览 28
已采纳

在CakePHP中,是否可以设置全局传递给Form helper create方法的选项?

In CakePHP is it possible to set the options you pass to the Form helper create method globally?

Since I want a specific form layout to be used on all my forms I am currently having to do this when I create every form.

<?php 
echo $this->Form->create('User', array(
    'class' => 'form-horizontal', 
    'inputDefaults' => array(
        'format' => array('before', 'label', 'between', 'input', 'error', 'after'), 
        'between' => '<div class="controls">', 
        'after' => '</div>', 
        'div' => 'control-group', 
        'error' => array(
            'attributes' => array('wrap' => 'span', 'class' => 'help-inline')
            )
        )
    ));
?> 

I was wondering if there was a way to specifiy this globally so I didn't need do it with every create call.

  • 写回答

2条回答 默认 最新

  • dongnai8013 2012-02-23 11:25
    关注

    The answer of starlocke is ok but I would not even want to write these three lines all over the place. :) Neither I think this is really "config data". So here is what I would do:

    MyFormHelper extends FormHelper {
        public function create($model, $options) {
            $defaults = array(/* YOUR DEFAULT OPTIONS*/);
            $options = Set::merge($defaults, $options);
            //...
        }
    }
    

    Then simply call it:

    $this->MyForm->create('Profile');

    or call it with a single option in the 2nd param you want to change somewhere.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部