2016-11-30 9 views
0

CMSのスライダに小さなイメージを追加したいと思います。uploadFileフィールドをさらに追加する

class Banner extends SortableObject { 

    private static $db = array(
    ); 

    private static $has_one = array(
     'HomePage' => 'HomePage', 
     'Image' => 'Image', 
     'Target' => 'Page', 
    ); 

    private static $summary_fields = array(
     'ID', 
     'Target.MenuTitle', 
    ); 

    public function getCMSFields() { 
     $fields = new FieldList(); 

     $img = new UploadField('Image'); 
     $img->setFolderName('hpbanners'); 
     $img->getValidator()->setAllowedExtensions(array('jpg','gif','png')); 
     $fields->push($img); 

     $drop = new TreeDropdownField('TargetID','Choose page','SiteTree'); 
     $fields->push($drop); 

     return $fields; 
    } 
} 

は今、私は別のフィールドを追加したい:現在、私の作品、私はここでダウンしていて、私は一つの大きなイメージを持っています。私は2番目が追加されていない、これは前にちょうど画像のように、DBに新しい列を追加する必要がありますが、私の問題は、DBテーブルに私は最初のイメージを持っているということであることを理解として、私は、$smallImageを追加しました:

class Banner extends SortableObject { 

    private static $db = array(
    ); 

    private static $has_one = array(
     'HomePage' => 'HomePage', 
     'Image' => 'Image', 
     'SmallImage' => 'SmallImage', 
     'Target' => 'Page', 
    ); 

    private static $summary_fields = array(
     'ID', 
     'Target.MenuTitle', 
    ); 

    public function getCMSFields() { 
     $fields = new FieldList(); 

     $img = new UploadField('Image'); 

     $img->setFolderName('hpbanners'); 
     $img->getValidator()->setAllowedExtensions(array('jpg','gif','png')); 
     $fields->push($img); 

     $smallImage = new UploadField('SmallImage'); 
     $smallImage->getValidator()->setAllowedExtensions(array('jpg','gif','png')); 
     $fields->push($smallImage); 

     $drop = new TreeDropdownField('TargetID','Choose page','SiteTree'); 
     $fields->push($drop); 

     return $fields; 
    } 
} 

だから、私に教えてください私はこの列が自動的に追加されることを知っているので、キャッシュをクリアする必要がありますか、何が間違っていますか?助けて! :)

答えて

1

関係は常に'YourRelationName' => 'Type'の形式です。したがって、あなたの$has_oneの関係定義は、次のようになります。

private static $has_one = array(
    'HomePage' => 'HomePage', 
    'Image' => 'Image', 
    'SmallImage' => 'Image', // Use type 'Image', not 'SmallImage' 
    'Target' => 'Page', 
); 
+0

Ok、他のものは正しいですか?その後、私は現金を取り払うべきですか?すべてをフラッシュするか何かをフラッシュする? – user2962010

+0

'dev/build'で十分です。 – bummzack

関連する問題