【问题标题】:Custom page variable in OctoberCMSOctoberCMS 中的自定义页面变量
【发布时间】:2018-01-22 10:58:26
【问题描述】:

是否可以在 OctoberCMS 的配置部分中使用自定义页面变量? 当我这样做时:

url = "/blog"
layout = "default"

custom_var = "value"
==
{{ custom_var }}

从管理面板编辑页面时,我的 custom_var 正在删除。

【问题讨论】:

    标签: php octobercms


    【解决方案1】:

    这似乎是 old 在单一视图中定义所有内容的方式(视觉表示)

    现在它分为 3 部分

    第一个 name and url(slug) 然后第二个 markup(html) section

    第三次 code section

    所以你可以关注new way of declaring 的东西,它应该可以工作

    使用code section添加这个

    public function onStart() {
        $this['custom_var'] = 'some value';
    }
    

    使用markup 部分并添加此

    <h1>{{ custom_var }}</h1>
    

    它会起作用,还有任何问题请评论。

    【讨论】:

    • 感谢您的回答。但是我需要在我的布局中使用这个变量,比如{{ this.page.custom_var }},而不是在这个页面的 html 部分。有可能吗?
    • 你也可以在布局中使用它{{ custom_var }}这也可以
    • 即使在布局中,您也可以使用相同的东西,因为它也分为标记和部分。 (您能否分享更多详细信息,您需要如何使用它以及问题部分的位置)
    • 我需要根据页面在布局中的 标记中添加一些不同的元属性。我想添加一些变量,在不同的页面上设置不同的值并检查它在布局中的值。但我决定使用this.page.baseFileName - 它也是独一无二的。感谢您的帮助!
    • 好的,很酷,这也可以工作,但在将name of file 更改为baseFilename 期间将careful 改为baseFilename,否则它将工作perfectly
    【解决方案2】:

    是的,可以在页面中设置自定义变量。您可以在php部分尝试以下代码

    function onEnd() {
        $this->page->custom_var = 'some data';
    }
    

    然后你可以在你的布局文件中使用这个 custom_var

    {{ this.page.custom_var }}
    

    【讨论】:

      【解决方案3】:

      如果要在标记中定义新变量,可以使用以下语法:

      {% set custom_var = 'some data' %}
      

      【讨论】:

        猜你喜欢
        • 2017-09-23
        • 2011-06-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多