我在页面中定义了一个变量:
{% set service = builderDetails.record %}
我希望将此变量传递给组件:
{% component 'Variations' service=service %}
但此方法不起作用。我怎么能这样做?
答案 0 :(得分:2)
我猜你需要将builderDetails.record
传递给component 'Variations'
然后您想要访问component 'Variations'
的{{1}}中的变量并显示一些有关它的详细信息。
为此您需要使用组件的default.htm
方法
在onRender
component 'Variations'
public function onRender()
{
$this->page['record'] = $this->page->components['builderDetails']->record;
}
将页面中的所有可用组件保存为数组。
$this->page->components
是组件builderDetails
(Builder插件)的别名,它被添加到页面中。
现在位于Record Details
您可以访问default.htm
变量并根据需要使用
record
我们假设您的记录具有属性
{{ record.name }}
如果您需要什么,请发表评论。
答案 1 :(得分:0)
在Twig .htm部分
<div class="sidebar-widget">
{% component "postBlock" score=55 name="Johan" %}
<div class="nonsense meta">
{% partial 'nonsense' score=75 name="Marga" %}
</div>
</div>
在废话树枝中,该树枝是先前的.htm部分
的子代<div class="sidebar-element">
<div>My name is: {{ name|default('John Doe') }}</div>
<div>My score is: {{ score|default('No score') }}</div>
</div>
在组件 postBlock 中, onRender 函数
function onRender() {
$score = $this->property('score'); // 55
$name = $this->property('name'); // Johan
}
要从父枝传递到子枝,您不必使用 onRender 函数 在组件中,只有当您要修改事物并将其传递到那里时,该分支才会出现。
答案 2 :(得分:0)
您不必将其分配给页面。您可以通过以下方式访问它:
__SELF__.property('property_name')
在组件中定义属性之后:
{% component 'Variations' service=service %}
在你的组件 default.htm
{{__SELF__.property('service')}}