是否可以添加一个js文件来从控制器beforeRender()查看?这是可取的吗?如果没有,如果我不能使用View,我应该只使用事件系统吗?
基本上我的想法是让我创建的插件将一个JS文件注入Theme插件的“script”块中(单独的插件)
答案 0 :(得分:0)
经过多次尝试,我决定通过并使用事件系统。我这样做了:
<?php
namespace App\Event;
use Cake\Event\EventListenerInterface;
class ApplicationListener implements EventListenerInterface {
public function implementedEvents() {
return [
'View.beforeLayout' => 'injectJsFile'
];
}
public function injectJsFile(Event $event, $layoutFile){
$event->getSubject()->Html->script('myscript', ['block' => 'script']);
}
}
这对我有用,但如果有控制器方式或更好的事件系统方式,我很乐意听到它。