Skip to content

Instantly share code, notes, and snippets.

@Zauberfisch
Created November 22, 2011 09:26
Show Gist options
  • Save Zauberfisch/1385286 to your computer and use it in GitHub Desktop.
Save Zauberfisch/1385286 to your computer and use it in GitHub Desktop.
[SilverStripe] Page with Folder (always same name)
<?php
class myPage extends Page {
public static $has_one = array(
'Folder' => 'Folder'
);
public function getCMSFields() {
$fields = parent::getCMSFields();
//$PhotoManager = new ImageDataObjectManager (/* some params here */);
//$PhotoManager->setUploadFolder($this->Folder()->Title);
//$PhotoManager->removeFolderSelection();
//$ImageField = new ImageField('Image', 'myImage', null, null, null, $this->Folder()->Title);
//$ImageField2 = new ImageUploadField('Image2', 'myImage2');
//$ImageField2->setUploadFolder($this->Folder()->Title);
return $fields;
}
function findOrMakeFolder() {
$Title = SiteTree::generateURLSegment($this->Title);
if ($this->Folder() && $this->Folder()->exists()) {
$folder = $this->Folder();
} else {
$folder = Folder::findOrMake($Title);
$folder->write();
}
$folder->setName($Title);
$folder->Title = $Title;
$this->FolderID = $folder->ID;
$folder->write();
}
function onBeforeWrite() {
$this->findOrMakeFolder();
parent::onBeforeWrite();
}
}
class myPage_Controller extends Page_Controller {
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment