我有两个插件都需要扩展JqueryEngineHelper。
我知道您只能在AppController Helpers中指定一个引擎。
如何在两个插件中扩展JqueryEngineHelper?我让他们都工作,但我不能让他们同时工作。
$helpers = ['Js'=>['MyPlugin.MyPluginJquery', 'MyPlugin2.MyPlugin2Jquery']];
我希望两者兼顾,但不幸的是他们没有。只使用第一个。
来自其中一个引擎的代码
App::uses('AppHelper', 'View/Helper');
App::uses('JqueryEngineHelper', 'View/Helper');
class MrgCustomSelectJqueryEngineHelper extends JqueryEngineHelper{
function __construct(View $view, $settings = array()){
parent::__construct($view, $settings = array());
$this->_init_callbacks();
}
protected function _init_callbacks(){
$callbacks = [
'selectBoxIt'=>[]
];
$this->_callbackArguments = array_merge($this->_callbackArguments, $callbacks);
}
public function selectBoxIt($options = []){
$template = '%s.selectBoxIt({%s});';
return $this->_methodTemplate('selectBoxIt', $template, $options);
}
}
答案 0 :(得分:0)
我认为你将不得不改变插件,以免它们发生冲突。根据插件的工作方式,可能有不同的方法可以解决这个问题: