我在尝试提取组件中函数defineProperties()中设置的属性值时遇到了一些问题 .
在页面上包含插件的两个实例时,我添加了一些属性值 . 这是为我的问题提供一些上下文的属性的简短列表 .
defineProperties() {
return [
'title' => [ 'title' =>'Title' ],
'type' => [
'title' => 'Type',
'type' => 'dropdown',
'default' => 'standalone',
'placeholder' => 'Select type',
'options' => [
'standalone' => 'Standalone',
'networked' => 'Networked'
]
],
'unitCost' => [
'title' => 'Unit Cost',
'default' => '130.00'
]
...
属性设置为:
实例1:
表单组件
别名:独立
Headers :
类型:独立
单位成本:5.00
实例2:
表单组件
别名:网络
Headers :
类型:网络
单位成本:10.00
以上内容已附加到/ plans页面
插件components / form / default.html包含以下内容(两个实例直接使用它,即不分叉)
No. of Licenses
<input id="licenseQty" name="licenseQty" type="text" placeholder="1">
<label>Support Plans</label>
<select id="supportPlan" name="supportPlan">
<option value="1">1 Year (included)</option>
<option value="2">3 Years</option>
</select>
<label>Total:</label>
<p>£{{ __SELF__ }}</p>
<button type="submit">Add to Basket</button>
上述语句{}为两个用户输入的Alias值生成引用 . 当我尝试访问SELF上的其他属性时,例如{}和{},这些都保留了相关的详细信息 . 只有当我尝试访问下面的自定义属性时,我才会得到空白:
{} - 空白
{} - 空白
有人可以帮忙吗?
1 回答
__SELF__
get您可以访问该组件的Component对象(类) . 因此,当您访问{{ __SELF__.alias }}
或{{ __SELF__.id }}
时,您正在访问对象属性(即它基本上等同于调用(new MyComponent)->alias
.由于尚未将
type
和unitCost
定义为组件的PHP对象属性,因此无法通过{{ __SELF__.type }}
或{{ __SELF__.unitCost }}
访问它们 . 要在Twig中访问它们,您可以调用返回其值的组件对象方法(property()
):或者您可以让Component类将这些配置级属性定义为PHP对象/类级属性,如下所示:
然后您将能够以
{{ __SELF__.type }}
的形式访问数据有关该主题的更多信息,请参见http://octobercms.com/docs/plugin/components#component-properties .