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.

Archive

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
Reply

22 Posts   8698 Views

Avatar
Nicolaas

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

Hi Folk

have a look at www.cloud9russell.co.nz. 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?

Avatar
Sean

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: http://doc.silverstripe.com/doku.php?id=tutorial:2-extending-a-basic-site

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. :-)

Cheers,
Sean

Avatar
Nicolaas

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

Nicolaas

Avatar
karibe

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

Hello
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

Avatar
bubbles

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

That function works great, Thanx

Avatar
stooni

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
\templates\Includes\SideBar.SS.

can you help me thanks!

Stooni----

Avatar
stooni

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

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

In the Sidbar.ss or in templates\Page.ss 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

Stooni
   

Avatar
Fuzz10

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

Stooni,

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