十月 CMS 组件加载布局

Posted

技术标签:

【中文标题】十月 CMS 组件加载布局【英文标题】:October CMS Component Load on Layout 【发布时间】:2017-05-22 15:12:04 【问题描述】:

我是 10 月 CMS 的新手 我阅读了文档及其声明,组件可以在 php 部分的布局中使用 (https://octobercms.com/docs/cms/layouts)

我想创建一个组件,该组件将用作我的主题的配置文件,声明全局变量,它将用于所有页面,但也将用于我将创建的所有布局。但我无法通过代码找到如何做到这一点。就像包含一个文件。我希望它在布局和页面的 PHP 部分中使用此参数。

如果组件不是最好的方法,你能告诉我什么是最好的方法

【问题讨论】:

【参考方案1】:

我之前做了很多搜索,想找到一种可以将变量共享到所有布局和页面的方法,但找不到任何东西。

所以我尝试了自己的技巧并且成功了。

在你的前端你必须有header.htm partial。所以在其中的代码部分编写一个onStart() 函数并设置您的全局变量,以便您可以从包含header 部分的任何布局或页面访问它们。

例如在您的header.htm 代码部分:

function onStart() 
    $this['my_var'] = ['name' => 'Ahmed', 'age' => 17];

这样您就可以在包含header.htm partial 的所有布局和页面中的任意位置访问my_var 变量。

【讨论】:

以上是关于十月 CMS 组件加载布局的主要内容,如果未能解决你的问题,请参考以下文章

十月 CMS- 语言选择器组件 Twig

如何仅在组件类或插件上创建十月 CMS 上的中间件?

十月 CMS - 如何正确路由

十月 CMS - 自定义字段

从 Relay 中的动态组件获取片段

将 Vue 组件加载为简码