ArticlePage.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
/**
 * Defines the ArticlePage page type
 */
class ArticlePage extends Page {
   static $db = array(
       'Subtitle' => 'Text',
       'Date' => 'Date',
       'Author' => 'Text'
   );
   static $has_one = array(
       'Mainimage' => 'Image'
   );

   static $has_many = array (
		'AttachedFiles' => 'ArticleFile'
	);

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

      $fields->addFieldToTab('Root.Content.Main', new TextField('Subtitle'), 'Content');
      $fields->addFieldToTab('Root.Content.Main', new DatePickerField('Date'), 'Content');
      $fields->addFieldToTab('Root.Content.Main', new TextField('Author'), 'Content');
      $fields->addFieldToTab("Root.Content.File", new ImageUploadField('Mainimage','Upload a file'));
      $fields->addFieldToTab("Root.Content.Main", $MFile = new MultipleImageUploadField('AttachedFiles','Upload several files'),'Content');

      $MFile ->allowFolderSelection();

      return $fields;
   }


}

class ArticlePage_Controller extends Page_Controller {

}

?>

ArticleFile.php

1
2
3
4
5
6
7
8
<?php

class ArticleFile extends Image{
    	static $has_one = array (
		'ArticlePage' => 'ArticlePage'
	);
}
?>

ArticlePage.ss

1
2
3
4
5
6
7
8
$Subtitle
$Content

<% if AttachedFiles %>
  <% control AttachedFiles %>
    $ArticleFile
  <% end_control %>
<% end_if %>