Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

DataObjectManager Module /

Discuss the DataObjectManager module, and the related ImageGallery module.

Moderators: martimiz, UncleCheese, Sean, biapar, Willr, Ingo, swaiba, simon_w

DataObjectmanager - Display File Frontend


Reply


3 Posts   1289 Views

Avatar
merrick_sd

Community Member, 97 Posts

29 April 2010 at 2:58am

Edited: 29/04/2010 3:04am

There doesn't seem to be anything about how to display my .pdf on the frontend in the docs

http://doc.silverstripe.org/modules:dataobjectmanager
unless I'm missing something

Resource.php
class Resource extends DataObject
{
   static $db = array (
      'Name' => 'Text',
      'Description' => 'Text',
      'Category' => "Enum('Brochure, EPC, HIPS, FloorPlan')"
   );
   
   static $has_one = array (
      'Attachment' => 'File',
      'HousePage' => 'HousePage'
   );
   
   public function getCMSFields_forPopup()
   {
      return new FieldSet(
         new TextField('Name'),
         new TextareaField('Description'),
         new DropdownField('Category','Category', singleton('Resource')->dbObject('Category')->enumValues()),
         new FileIFrameField('Attachment')
      );
   }
}

Housepage.php

static    $db = array(
???

):
      static $has_many = array(
      'Bullets' => 'Bullet',
   'Rooms' => 'Room',
   'Resources' => 'Resource',
   'ImageAttachments' => 'ImageAttachment'

   );

      function getCMSFields() {
         $fields = parent::getCMSFields();
         
         
         
         $manager = new FileDataObjectManager(
         $this, // Controller
         'Resources', // Source name
         'Resource', // Source class
         'Attachment', // File name on DataObject
         array(
            'Name' => 'Name',
            'Description' => 'Description',
            'Category' => 'Category'
         ), // Headings
         'getCMSFields_forPopup' // Detail fields (function name or FieldSet object)
         // Filter clause
         // Sort clause
         // Join clause
      );
$fields->addFieldToTab("Root.Content.Resources",$manager);

.ss FRONT Page

<% if Resources %>
<ul>
<% control Resources %>

<li>$Name $File ?guess </li>
<% end_control %>
</ul>
<% end_if %>

does anyone have any ideas

Avatar
UncleCheese

Forum Moderator, 4096 Posts

29 April 2010 at 3:31am

$Attachment.URL

Avatar
merrick_sd

Community Member, 97 Posts

29 April 2010 at 3:36am

Thanks a million.

Its so easy when you know how. I was trying just $Attachment and all sorts.