从组件中获取变量
Take variable from component
我想从组件中获取变量。
这是我的代码:
<!-- Gallery -->
<div class="galeryWraper">
<div class="row" >
<h3>{{ galeria1.post.title }} {{ galeria1.post.description }}</h3>
<div class="col-sm-8">
{% component 'galeria1' %}
</div>
</div>
</div>
<!-- End Gallery -->
Galery 工作正常。
但是画廊标题和描述没有显示。
有人知道为什么吗?
post
必须在该组件中定义
public $post = null;
现在 onRun
或者你需要如何给它赋值
public function onRun() {
$this->post = 'value-text';
}
那么只有它像
一样可用
{{ galeria1.post }}
// output 'value-text'
所以可能是你的post变量直接传递给页面没有分配给组件
例如:
public function onRender()
{
$this->page['post'] = 'some data';
}
或
public function onRun()
{
$this->page['post'] = 'some data';
}
所以这个 post 直接分配给页面而不是组件本身。
解决方法:
你可以这样做
public $post= '';
public function onRender OR onRun() // choose method where data is added to page
{
$this->post = 'some data';
$this->page['post'] = $this->post;
}
你可以像这样直接访问那些变量
{{ post.title }} {{ post.description }}
如果它们在您的组件上设置如下
public function onRun(){
$post = array();
$post['title'] = 'some-title';
$post['description'] = 'some-description';
$this->page['post'] = $post;
}
要从组件的 Twig 部分访问 属性,请使用引用组件对象的 __SELF__
变量:
{{ __SELF__.property('title') }}
我想从组件中获取变量。 这是我的代码:
<!-- Gallery -->
<div class="galeryWraper">
<div class="row" >
<h3>{{ galeria1.post.title }} {{ galeria1.post.description }}</h3>
<div class="col-sm-8">
{% component 'galeria1' %}
</div>
</div>
</div>
<!-- End Gallery -->
Galery 工作正常。 但是画廊标题和描述没有显示。
有人知道为什么吗?
post
必须在该组件中定义
public $post = null;
现在 onRun
或者你需要如何给它赋值
public function onRun() {
$this->post = 'value-text';
}
那么只有它像
一样可用{{ galeria1.post }}
// output 'value-text'
所以可能是你的post变量直接传递给页面没有分配给组件
例如:
public function onRender()
{
$this->page['post'] = 'some data';
}
或
public function onRun()
{
$this->page['post'] = 'some data';
}
所以这个 post 直接分配给页面而不是组件本身。
解决方法:
你可以这样做
public $post= '';
public function onRender OR onRun() // choose method where data is added to page
{
$this->post = 'some data';
$this->page['post'] = $this->post;
}
你可以像这样直接访问那些变量
{{ post.title }} {{ post.description }}
如果它们在您的组件上设置如下
public function onRun(){
$post = array();
$post['title'] = 'some-title';
$post['description'] = 'some-description';
$this->page['post'] = $post;
}
要从组件的 Twig 部分访问 属性,请使用引用组件对象的 __SELF__
变量:
{{ __SELF__.property('title') }}