7913 Posts in 1355 Topics by 930 members
DataObjectManager Module
SilverStripe Forums » DataObjectManager Module » Sortable Enum Value from DataObject
Discuss the DataObjectManager module, and the related ImageGallery module.
Moderators: martimiz, UncleCheese, Howard, Sean, Ryan M., biapar, Willr, Ingo, swaiba, simon_w
|
Page:
1
|
Go to End | |
| Author | Topic: | 773 Views |
-
Sortable Enum Value from DataObject

6 July 2011 at 12:19am
Good Evening UncleCheese,
I would like to learn the trick to make the sortable Enum value you did for ImageGallery module. I have two dataobjects
1. ActivityPage - Class
1. Project - DataObject
2. ActivityPhoto - DataObjectThrough your kindness advice before, I can bring two DataObject work in one Page. I would like to have sortable Enum like the one you made within ImageGallery module, which allow user to choose ProjectTitle to upload ActivityPhoto.
Thanks in advance for your advice.
Bunheng
-
Re: Sortable Enum Value from DataObject

8 July 2011 at 9:11am
What is a sortable enum value?
--------------------
SilverStripe tips, tutorials, screencasts and more: http://www.leftandmain.com -
Re: Sortable Enum Value from DataObject

9 July 2011 at 10:46pm Last edited: 10 July 2011 9:48pm
Hi UncleCheese,
The thing is I have two DataObject which already bring to CMS and has many is the relationship beftween those dataobject.
- Project
- ActivityPhotoI would like to know the trick how to create filter which allow user to select Project Code from Project DataObject before inserting new record for ActivityPhoto. http://www.cambodia-wildlife-adventures.org/filter.jpg
Once again, thanks for your advice and contribution.
Bunheng
Update
Now i can bring up the filter but it doesn't work properly.<?php
class Activity extends Page {
static $icon = "activities/images/activity";
static $db = array(
);
static $has_many = array(
'ActivityPhotos' => 'ActivityPhoto',
'Projects' => 'Project'
);function getCMSFields() {
$fields = parent::getCMSFields();
$manager = new ImageDataObjectManager(
$this,
'ActivityPhotos',
'ActivityPhoto',
'Photo',
array('Title' => 'Title'),
'getCMSFields_forPopup'
);$manager->setFilter('ProjectID', 'Choose Project Code', $this->Projects()->toDropdownMap('ID', 'Code'));
$items = new DataObjectManager(
$this,
'Projects',
'Project'
);
$fields->addFieldsToTab("Root.Content.Projects", $items);
$fields->addFieldToTab("Root.Content.Activity", $manager);
$fields->removeFieldFromTab("Root.Content", 'Photo');if ($this->Projects()->Count() > 0)
$this->ActivityPhotos()->filter = "ProjectID_" . $this->Projects()->First()->ID;
$manager->setAddTitle("Photos to " . $this->CurrentProjectCode());
$manager->filter_empty_string = false;
return $fields;
}function getProjectID() {
return str_replace("ProjectID_", "", $this->ActivityPhotos()->filter);
}function CurrentProjectCode() {
return DataObject::get_one("Project", $this->getProjectID())->Code;
}}
class Activity_Controller extends Page_Controller {
}
?>
-
Re: Sortable Enum Value from DataObject

11 July 2011 at 6:15am
What do you mean by "it doesn't work properly"?
---------------
Silverstripe tips, tutorials, screencasts, and more. http://www.leftandmain.com
| 773 Views | ||
|
Page:
1
|
Go to Top |
