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.

We've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

Data Model Questions /

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo, swaiba

Dataobject as pages using 2 images


Go to End


2 Posts   1590 Views

Avatar
Mauro74

Community Member, 30 Posts

19 August 2012 at 9:49pm

I'm trying to develop a tutorial from http://www.ssbits.com that uses Dataobject as pages. Here's the link to it: http://www.ssbits.com/tutorials/2010/dataobjects-as-pages-part-1-keeping-it-simple

Now in the tutorial (which I've used already in my projects) there's only one image per staff member, I want to associate 2 images per staff member (I've used products instead of staff members), I guess I need to use $has_many relation but when I try it doesn't work properly, it uploads the images but it doesn't associate them with the staff member (product in my case). Here's how I did it:

//Relations
static $has_one = array (
   'ProductPage' => 'ProductPage'
);

static $has_many = array (
  'Photo1' => 'Image',
  'Photo2' => 'Image'
);

Anyone know how to do this?

Thanks

Avatar
Bolixe

Community Member, 19 Posts

22 August 2012 at 3:19am

Hi there!!

It´s remain me something I have used with my dataObject to upload multiple files.

Create a extra class:

class ProductImages extends File
{
static $has_one = array (

'yourDataObject' => 'yourDataObject'

);
}

Then your relations in yourDataObject should be like:

//Relations
static $has_one = array (
'ProductPage' => 'ProductPage'
);

static $has_many = array (
'ProductImages ' => 'ProductImages'
);

In templates:

<% if ProductImages%>

<p>Images</p>

<% control ProductImages%>

<a href="$Filename">$Title</a>

<% end_control %>

<% end_if %>

Then to make it better, in the getCMSFields you can limit the number of uploads per object

Cheers