【发布时间】:2018-11-09 09:28:46
【问题描述】:
在布局中,当页面未定义属性时,使用is defined 检查页面属性会产生类似“调用未定义方法 October\Rain\Halcyon\Builder::meta_description()”的错误。
我希望测试是假的,而不是抛出异常。
我有如下布局,检查if this.page.meta_description is defined。
description = "Default layout"
==
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>{{ this.page.title }}</title>
{% if this.page.meta_description is defined and this.page.meta_description is not empty %}
<meta name="description" content="{{ this.page.meta_description }}">
{% endif %}
</head>
<body>
...
</body>
</html>
如果使用此布局的页面定义了meta_description 属性,则它可以正常呈现。
但是,如果页面没有定义它,this.page.meta_description is defined 部分会抛出异常。
检查页面属性是否已定义的正确方法是什么?
【问题讨论】:
标签: twig octobercms