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.

Data Model Questions

Dataobject as pages using 2 images


Reply

2 Posts   474 Views

Avatar
Mauro74

19 August 2012 at 9:49pm Community Member, 30 Posts

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

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

22 August 2012 at 3:19am Community Member, 17 Posts

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