2017-09-14 75 views
1

我在我的模塊頁面字段中進行了編輯。沒有錯誤的所有作品,但是當我去的地方,我會看到一個超鏈接網頁,它只是告訴我SilverStripe頁面字段不起作用

我ImageBlock.php 類ImageBlock擴展座

{ 
    private static $db = array('WebsiteLinkHyper' => 'VarChar'); // THIS IS ADDED BY ME 
    private static $many_many = array(
     'Images' => 'Image' 

    ); 

    private static $many_many_extraFields = array(
     'Images' => array('SortOrder' => 'Int') 
    ); 

    public function getCMSFields() 
    { 
     $fields = parent::getCMSFields(); 

     $uploadField = null; 
     if (class_exists('SortableUploadField')) { 
      $uploadField = SortableUploadField::create('Images', _t('ImageBlock.IMAGES', 'Images')); 
     } else { 
      $uploadField = UploadField::create('Images', _t('ImageBlock.IMAGES', 'Images')); 
     } 

     $fields->addFieldToTab('Root.Main', $uploadField); 
     $fields->addFieldToTab('Root.Main', TextField::create('WebsiteLinkHyper', 'Link'));// THIS IS ADDED BY ME 
     $this->extend('updateCMSFields', $fields); 
     return $fields; 
    } 

} 

我imageBlock.ss

<% loop $Images.Sort('SortOrder') %> 
<a href="$WebsiteLinkHyper"> //THIS IS ADDED 
<figure> 
    $Tag 
    <figcaption>$Title</figcaption> 
</figure> 
</a> 
<% end_loop %> 

所有在管理面板工作正常,但是當我去頁面我看到我的內容塊,但是當我點擊查看頁面源時,我看到這樣一個空href><a href="">

我做錯了什麼?

回答

0

它看起來像循環圖像並在該循環內添加$WebsiteLinkHyper,所以SilverStripe將試圖訪問您的圖像上的該屬性而不是您的塊。嘗試了碰撞的範圍水平:「」

<% loop $Images.Sort('SortOrder') %> 
    <a href="{$Up.WebsiteLinkHyper}"> //THIS IS ADDED 
    ... 
<% end_loop %> 
+0

現在至少我得到的東西,我得到這個的 {} – Thranduil

+0

是的,你可以把花括號放在那裏,但是它們被模板處理器用來逃避sirverstripe變量。 –

+0

那我該怎麼辦? – Thranduil