【问题标题】:How to pass parameters and based on them create a condition in markup?如何传递参数并基于它们在标记中创建条件?
【发布时间】:2020-10-09 15:51:30
【问题描述】:
我是新手。
如何传递参数并基于它们在标记中创建条件?
我有这样的组件
{% component 'demoTodo' %}
但我想在两种变体中使用它,如果 mobile = true,那么另一个标记,如果 false 另一个
{% component 'demoTodo' mobile=true %} 或 {% component 'demoTodo' mobile=false %}
{% if mobile == true %}
...
{% else %
...
{% endif %}
如何做到这一点?
【问题讨论】:
标签:
octobercms
octobercms-backend
october-partial
【解决方案1】:
您需要传递component property 并在onRender 方法中检索它,然后再次需要将其传递给标记。
您可以按照此过程将mobile 变量添加到您的markup。
您的页面标记包含component 和属性mobile
{% component 'demoTodo' mobile=true|false %}
在您的demoTodo 组件php 代码中
function onRender() {
$this->page['mobile'] = $this->property('mobile');
}
在您的组件的 default.htm 标记和 mobile 变量中将不可用
{% if mobile == true %}
...
{% else %
...
{% endif %}
如有任何疑问,请发表评论。