【问题标题】:Logic between CakePHP component and helperCakePHP 组件和助手之间的逻辑
【发布时间】:2012-06-09 17:22:55
【问题描述】:

我正在编写一个组件+助手对,用于处理当前视图的 JS 文件的包含。

这个想法是自动加载与视图(或动作)同名的 JS 文件。因此,如果您在同一文件夹中有一个名为“admin_add.ctp”的视图和一个文件“admin_add.js”,则 JS 文件将包含在 JS 缓冲区中。我希望这在两个 beforeRender 调用中自动发生。

棘手的部分是我需要能够在 Controller::action 级别(使用组件)启用/禁用自动加载,但包含逻辑需要在 View 级别(使用 Helper)发生。

如何将组件的启用/禁用触发器传递给 Helper,而无需在每个视图模板中编写代码?

【问题讨论】:

    标签: php cakephp cakephp-helper


    【解决方案1】:

    我通过修改组件中的 controller->helpers['helperName'] 数组解决了这个问题。

    由于 Helper 是在组件的 beforeRender 调用之后实例化的,因此我可以修改 helper 的设置并从 Helper::__contruct($View, $settings) 调用访问数据。

    我不确定我是否可以依靠 CakePHP 的内部结构来保持这种回调顺序,但到目前为止它确实有效。

    【讨论】:

    • 当您想要自动加载时,只需将助手添加到数组中即可。另外,已经有这样的东西了(虽然没有组件):github.com/predominant/goodies
    猜你喜欢
    • 1970-01-01
    • 2012-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多