OctoberCMS开发入门教程 — 模板变量Variables

2018-01-18 239

OctoberCMS开发入门教程系列:

常用模板变量Variables

this.page

该变量是Cms\Classes\Page类的一个实例,在当前页面的前后端代码里都可以读取这个对象实例,此变量包含了如下几个重要属性:

layout

当前页面使用的layout文件名称,{{ this.page.layout }}

id

根据当前页面文件相对路径(pages目录)自动生成的唯一标识字符串,如home/index.htm会生成home-index,变量使用实例:

<body class="page-{{ this.page.id }}">

title

页面定义的标题{{ this.page.title }}

description

页面定义的描述{{ this.page.description}}

meta_title

后台设置的页面标题,通常用来做SEO标题,实例如下:

<title>{{ this.page.meta_title }}</title>

meta_description

后台设置的页面描述,通常用来做SEO的描述信息,实例如下:

<meta name="description" content="{{ this.page.meta_description }}">

hidden

用来判断当前页面是否需要登录才能访问,实例如下:

{% if this.page.hidden %}
    <p>Note to other admins: We are currently working on this page.</p>
{% endif %}

fileName

当前页面带扩展名的文件名,,如index.htm

baseFileName

当前页面不带扩展名的文件名,如index

this.layout

该变量是Cms\Classes\Layout类的一个实例,在当前页面的前后端代码里都可以读取这个对象实例,此变量包含了如下几个重要属性:

id

根据当前layout文件相对路径(layouts目录)自动生成的唯一标识字符串,如default.htm会生成default,变量使用实例:

<body class="layout-{{ this.layout.id }}">

description

当前layout文件定义的描述{{ this.layout.description}}

this.theme

该变量是Cms\Classes\Theme类的一个实例,在当前页面的前后端代码里都可以读取这个对象实例,此变量包含了如下几个重要属性:

id

根据主题的目录名称,变量使用实例:

<body class="theme-{{ this.theme.id }}">

config

当前主题的yaml配置文件信息,变量使用实例:

<meta name="description" content="{{ this.theme.config.description }}">


this.environment

该变量是Laravel框架配置文件的APP_ENV信息,用作设置程序运行环境,在当前页面的前后端代码里都可以读取这个变量字符串,变量使用实例:

{% if this.environment == 'test' %}
    <div>当前运行环境:Test</div>
{% endif %}


this.param

该变量以数组形式储存当前URL传递进来的全部参数,变量使用实例:

url = "/account/:tab"
==
{% if this.param.tab == 'details' %}
    <p>Here are all your details</p>
{% elseif this.param.tab == 'history' %}
    <p>You are viewing a blast from the past</p>
{% endif %}

url = "/account/:post_id"
==
{% set name = 'post_id' %}
<p>The post ID is: {{ this.param[name] }}</p>

发表评论