十月CMS - 如何获取组件的属性(__SELF__)?
我有一个小问题试图拉出我的组件中的函数defineProperties()中设置的属性的值。十月CMS - 如何获取组件的属性(__SELF__)?
当在页面上包含插件的两个实例时,我添加了一些属性值。这是为我的问题提供一些背景的属性的简短列表。
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:
形式元器件
别名:独立
名称:
类型:独立
单位成本:5.00
实例2:
形式元器件
别名:网络
名称:
Type:网络
单位成本:10.00
以上已追加到/计划页面
的插件组件/表格/ default.html中包含以下(这两种情况下使用这个直接IE不分叉)
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>
上面的语句{{SELF}}为用户输入的别名值生成参考。当我尝试访问SELF上的其他属性,例如{{SELF.alias}}和{{SELF.id}}时,它们将保留相关的详细信息。只有当我尝试下面我什么也没得到,但空格来访问自定义属性:
{{SELF.type}} - 空白
{{SELF.unitCost}} - 空白
任何人都可以帮帮我?
__SELF__
get的你可以访问该组件的组件对象(类)。所以,当你访问{{ __SELF__.alias }}
或{{ __SELF__.id }}
您正在访问对象的属性(即它基本上相当于调用(new MyComponent)->alias
。
既然你还没有定义type
和unitCost
为您的组件PHP对象属性,则无法通过{{ __SELF__.type }}
或{{ __SELF__.unitCost }}
访问它们。为了内枝条访问它们,您可以拨打电话,以返回其值的组件对象方法(property()
):
{{ __SELF__.property('type') }}
,或者你可以有你的组件类中定义这些配置水平属性PHP对象/类级属性如下:
public function init() {
$this->type = $this->property('type');
$this->unitCost = $this->property('unitCost');
}
,然后你就可以访问的{{ __SELF__.type }}
表单中的数据,请参见http://octobercms.com/docs/plugin/components#component-properties有关该主题的更多信息。