Thanks UncleCheese that works great. thanks alot
Can you create a PDF document gallery using the Image Gallery extention or is there another extention that can be used for this purpose.
I would use a FileDataObjectManager for this, and handle the gallery UI as you see fit on your template. The ResourcePage example would be a good one to follow.
Where can I downlaod some working examples from? I have created the Resource.php & ResourcePage.php under mysite/code/ and ran dev/build. I cannot see the Resource Page type.
Can you post your code for those two classes?
There was a } missing in the ResourcePage.php
Now that it is added, the page type appears but when you select it, the page cannot be saved.
Here are the 2 files:
class Resource extends DataObject
static $db = array (
'Name' => 'Text',
'Description' => 'Text',
'Category' => "Enum('Industry, Finance, Education')"
static $has_one = array (
'Attachment' => 'File',
'ResourcePage' => 'ResourcePage'
public function getCMSFields_forPopup()
return new FieldSet(
new DropdownField('Category','Category', singleton('Resource')->dbObject('Category')->enumValues()),
class ResourcePage extends Page
static $has_many = array (
'Resources' => 'Resource'
public function getCMSFields()
$f = parent::getCMSFields();
$manager = new FileDataObjectManager(
$this, // Controller
'Resources', // Source name
'Resource', // Source class
'Attachment', // File name on DataObject
'Name' => 'Name',
'Description' => 'Description',
'Category' => 'Category'
), // Headings
'getCMSFields_forPopup' // Detail fields (function name or FieldSet object)
// Filter clause
// Sort clause
// Join clause
Gotcha. For PDF display in a modal window, you probably want to use Lightwindow.
OK - how do you use the lightwindow for the PDF display. Previously prior to 2.3 I was able to use the different version of image gallery which allowed for the use of both images as well as PDF files. See: http://www.sunnynook.school.nz/cms/latest-newsletter/
Also for the resources on the Resource.php & ResourcePage.php, how can I get that code to work as per your example? How can I delete the page which had an error? I cannot delete it because I cannot select it as it shows an alert box with a page error.
You help would be most appreciated.