十月CMS - 如何获取组件的属性(__SELF__)?

十月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>&pound;{{ __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

既然你还没有定义typeunitCost为您的组件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有关该主题的更多信息。