One thing you'll find that differentiates SilverStripe from other CMSes is that there aren't too many whiz-bang modules that integrate specific behaviors and data models at the click of a button. Rather than force-feed you one specific approach and leave you to wrestle it into submission trying to get it to do what you want, SilverStripe encourages you to build these things yourself, so that they're 100% customized to your liking. Being a very flexible and easy to use framework, this is a process that's highly streamlined.
Here's some example code that might help you with a gallery.
GalleryPage.php
class GalleryPage extends Page {
static $has_many = array (
'GalleryImages' => 'GalleryImage'
);
public function getCMSFields() {
$fields = parent::getCMSFields();
$fields->addFieldToTab("Root.Content.Gallery", new ImageDataObjectManager($this, 'GalleryImages','GalleryImage'));
return $fields;
}
}
class GalleryPage_Controller extends Page_Controller {
public function init() {
parent::init();
Requirements::javascript(THIRDPARTY_DIR.'/jquery/jquery.js');
Requirements::javascript('path/to/your/plugin.js');
Requirements::css('/path/to/your/plugin/css.css');
}
}
GalleryImage.php
class GalleryImage extends DataObject {
static $db = array (
'Caption' => 'Text'
);
static $has_one = array (
'Image' => 'Image',
'GalleryPage' => 'GalleryPage'
);
public function getCMSFields() {
return new FieldSet (
new ImageUploadField('Image'),
new TextareaField('Caption')
)
}
}
/your-theme/templates/Layout/GalleryPage.ss
<div id="your_cycle_thingy">
<% control GalleryImages %>
<% control Image %>
$SetWidth(500) <!-- an image tag for the resampled image -->
$CroppedImage(100,100) <!-- an image tag for a thumbnail, maybe -->
<% control SetWidth(500) %>
<img src="$URL" /> <!-- getting a little more customized -->
<% end_control %>
$Caption
<% end_control %>
</div>
As you can see, SilverStripe is very plugin agnostic. You can do whatever you like with the output to your template to make it work with whatever..
Good luck!
--------------------
SilverStripe tips, tutorials, screencasts and more: http://www.leftandmain.com