2017-02-28 59 views
1

我有一個小問題試圖拉出我的組件中的函數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}} - 空白

任何人都可以幫幫我?

回答

0

__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有關該主題的更多信息。