如何覆盖CakePHP 3.X中的FormHelper?

时间:2016-11-25 15:03:57

标签: cakephp cakephp-3.0

根据我的需要自定义表单助手

<?php    
namespace App\View\Helper;    
use Cake\View\Helper;

class IecFormHelper extends Helper
{  
    public $helpers = ['Form'];
    public $iecFormConfig = [        
        'templates' => [            
            'input' => '<input type="{{type}}" name="{{name}}"{{attrs}} onBlur=update_data(this.id) />',
        ]
    ];

    public function date($fieldName, array $options = [])
    {
        $options += [
            'empty' => true,
            'value' => null,
            'monthNames' => true,
            'minYear' => 1950,
            'maxYear' => date('Y') + 50,
            'orderYear' => 'desc',
        ];
        $options['hour'] = $options['minute'] = false;
        $options['meridian'] = $options['second'] = false;

        $options = $this->_initInputField($fieldName, $options);
        $options = $this->_datetimeOptions($options);

        return $this->widget('datetime', $options);
    }
}

我在“src / View / Helper”下有这个帮助器类,它基本上有模板规则来调用模糊的javascript函数,而且我想更改所有日期下拉列表的minYear和maxYear值。

我的问题是我如何以及在何处使用此帮助程序,以便它覆盖主FormHelper中的规则。

1 个答案:

答案 0 :(得分:1)

你可以加载它并使用你的助手代替表单助手。
如果你想覆盖Formhelper,你应该在你的IecFormHelper中扩展FormHelper