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.


Our old forums are still available as a read-only archive.

Moderators: martimiz, Sean, biapar, Willr, Ingo, simon_w

silverstriping a site with random pictures

Go to End

22 Posts   8698 Views


21 May 2007 at 4:22pm Forum Moderator, 213 Posts

Hi Folk

have a look at I would like SilverStripe this. It should be pretty straight forward (although I am a complete novice), but I would like to know how to do the images. I can easily do this in PHP (as you can see), but how would i go about it in Silverstripe (just tell me the general area I should be looking at and how to work it). Basically my question is: I have a php file, how can I silverstripe it?


21 May 2007 at 6:14pm (Last edited: 21 May 2007 6:26pm), Forum Moderator, 921 Posts

This tutorial here is what you'll be needing:

It explains how to create image uploaders for pages within the CMS. More specifically, it's the 'Adding a staff section' portion of the tutorial you'll be most interested in.

If you're looking to get a random image instead of a fixed one per page, then you could add the images to a directory inside assets/banners or similar (in the same directory level as sapphire and cms), then create a function as you would normally in any PHP implementation to fetch this directory's contents using scandir or similar, then shuffle the array around.

The banners directory inside assets can be maintained by the CMS using the Files & Images section. The SilverStripe admin can upload the image files directly into the banner directory itself which gets added to the shuffle.

If you haven't already done so I'd recommend running through the tutorials to see how SilverStripe works. :-)



22 May 2007 at 9:48am Forum Moderator, 213 Posts

Hi Sean

Thanks a million

That is plenty to go by. I had a quick look at the tutorials and I will look at them in more depth now.

Thanks again



18 June 2007 at 9:06am Community Member, 56 Posts

I had same problem and my tip is, in Page_Controller

   public function RandomImage( $strLeftDirName )
      if ( !is_string( $strLeftDirName ) )
         return false;
      $left_dir = DataObject::get_one("Folder", "Name = \"$strLeftDirName\"");
      $randImg = ( $left_dir->ID ) ? DataObject::get_one("Image", "ParentID = $left_dir->ID", true, "RAND()" ) : false;
      return $randImg->Filename;

And in template $RandomImage(page_left) where page_left is directory name where I have proper images.
Works fine and is very flexible


5 June 2008 at 3:03pm Community Member, 1 Post

That function works great, Thanx


7 August 2008 at 2:56am Community Member, 89 Posts

can you tell me, to implement random Image in sidebar from gallery,
the function in mysite\code\Page.php and the call in the

can you help me thanks!



15 August 2008 at 11:07pm Community Member, 89 Posts

Can you help me where i must do these?????

In the or in templates\ and must i scribe

   <image src="<?php $RandomImage(gallery); ?>" /> these way or these
<image src="<?php $RandomImage('gallery'); ?>" /> or these
   <?php $RandomImage(gallery); ?>

Thanks for help



16 August 2008 at 1:21am Community Member, 787 Posts


Make sure to thoroughly go through the tutorials. The SS templating system does not work PHP code. You'd have to create a function in your page which returns the list of random images (or single image) ... Then you can call it by implementing a <% control %> in your template.

Go to Top