<?php
/**
* Defines the ImageGalleryPage page type
*/
class ImageGalleryPage extends Page {
static $db = array(
'Headline' => 'Varchar(255)'
);
static $has_one = array(
'CategoryImage' => 'ImageGalleryPage_CustomCategoryImage'
);
static $has_many = array(
'ImageGalleryPageImages' => 'ImageGalleryPageImage'
);
static $allowed_children = array(
);
function getCMSFields() {
$fields = parent::getCMSFields();
$fields->addFieldToTab('Root.Content.Main', new TextField('Headline', 'Headline', '', 255), 'Content');
$fields->addFieldToTab("Root.Content.Main", new ImageField('CategoryImage','Category Image'), 'Content');
$fields->addFieldToTab("Root.Content.Main", new LiteralField ("literalfield_1", '<div>This image size MUST be 182x102.</div><br>'));
$tablefield = new ImageDataObjectManager (
$this,
'ImageGalleryPageImages',
'ImageGalleryPageImage',
'GalleryImage',
array(
'TooltipThumbnail' => 'Gallery Image'
),
'getCMSFields_forPopup'
);
$tablefield->setAddTitle( 'A Gallery Image' );
$fields->addFieldToTab( 'Root.Content.GalleryImages', $tablefield );
//Remove content field
$fields->removeFieldFromTab('Root.Content.Main', 'Content');
return $fields;
}
}
class ImageGalleryPage_Controller extends Page_Controller {
}
class ImageGalleryPage_CustomCategoryImage extends Image {
function generateCustomCategoryImage($gd){
$gd->setQuality(85);
return $gd->resize(182, 102);
}
}
?>