i have a similar setup to http://www.silverstriperesources.com/articles/how-to-make-a-photo-gallery-in-silverstripe-3/
its all working fine except the bulk upload option. its says its uploaded and i click save and then save and finish and the data objects get added, but no images are uploaded.
If i add one at a time it works fine.
ClientImage
<?php
class ClientImage extends DataObject {
public static $db = array(
'Title' => 'Varchar',
'LinkUsage' => 'Text',
'IconHyperLink' => 'Text',
'SortOrder' => 'Int'
);
public static $has_one = array(
'Image' => 'Client_Image',
'ClientPage' => 'ClientPage',
);
static $singular_name = 'ClientImage';
static $plural_name = 'ClientImages';
public function getCMSFields() {
$fields = parent::getCMSFields();
$fields->removeFieldFromTab("Root.Main","ClientPageID");
$fields->removeFieldFromTab("Root.Main","SortOrder");
$fields->addFieldToTab('Root.Main',
$uploadField =new UploadField('Image','Gallery Image'));
$uploadField->setFolderName('Client');
$fields->addFieldToTab('Root.Main', new OptionsetField(
$name = 'LinkUsage',
$title = 'Link Usage',
$source = array('NONE' => "NONE", 'External' => "EXTERNAL"),
$value = "1"
));
$ExternalURLField = new TextField('IconHyperLink', 'HyperLink');
$fields->addFieldToTab('Root.Main',$ExternalURLField );
$ExternalURLField->setValue('http://');
return $fields;
}
public static $summary_fields = array(
'ID' => 'ID',
'Title' => 'Title',
'Thumbnail' => 'Thumbnail',
);
public function getThumbnail() {
return $this->Image()->CMSThumbnail();
}
}
class Client_Image extends Image {
static $db = null;
function generateRatioClientImage($gd) {
$gd->setQuality(100);
return $gd->resizeRatio(370,185);
}
}
ClientPage
<?php
class ClientPage extends Page {
public static $db = array(
);
public static $has_one = array(
);
public static $has_many = array(
'ClientImages' => 'ClientImage'
);
static $icon = "mysite/images/icons/clients.png";
static $description = 'Page with images holder for clients';
static $singular_name = 'ClientPage';
static $plural_name = 'ClientPages';
public function getCMSFields() {
$fields = parent::getCMSFields();
$gridFieldConfig = GridFieldConfig_RecordEditor::create();
$gridFieldConfig->addComponent(new GridFieldBulkEditingTools());
$gridFieldConfig->addComponent(new GridFieldBulkImageUpload());
$gridFieldConfig->addComponent(new GridFieldSortableRows('SortOrder'));
$gridfield = new GridField("ClientImages", "Client Images", $this->ClientImages()->sort("SortOrder"), $gridFieldConfig);
$fields->addFieldToTab('Root.ClientImages', $gridfield);
return $fields;
}
}
class ClientPage_Controller extends Page_Controller {
public static $allowed_actions = array (
);
public function getClientImages() {
return $this->ClientImages()->sort("SortOrder");
}
public function init() {
parent::init();
}
}