Does anyone know how to change the link on the image to be whatever is in [link] field within the same library? (I added a column/field called link). The link on the image is a link to the image, but I need this to be dictated by the link column. I have Sharepoint Designer open in the event I need to extend the web part, but I am not seeing that option.


This functionality is not included with the Picture Library Slideshow Web Part. Extending a web part requires your creating a custom web part in Visual Studio and inheriting from the OOB web part class. Unfortunately, it looks like the PictureLibrarySlideshowWebPart is sealed, so you not be able to inherit from it.

| improve this answer | |
  • Thanks. Do you happen to know any js that will overwrite the link on the image and furnish a new link that's in "Link" column bucket? – Robert G May 27 '11 at 17:22
  • You could use FireBug or IE developer tools to see if the value in the link field is even on the page. If it is, see what class or id identifies that value. Then, you could write jQuery to add an anchor tag around the image with the url that you want. – Laurie May 27 '11 at 17:31

Picture Library SlideShow web part could be customized on the client side. In order accomplish it, we need to override the function for initializing picture in slideshow should be (see the code below).

The solution described below allows to specify custom url for picture link in Picture Library Slideshow web part.

Step 1. Save below JavaScript code to the file, for example in SlideshowObjectInitializer.txt and upload it to SiteAssets Library

<script type="text/javascript">

function SlideshowObjectInitializer() {

  ShowPic = (function(ShowPicOrig) {
      return function() {

           var ssObj = arguments[0];  //SlideShow object
           var curPicIdx=ssObj.index; //current picture index

           ShowPicOrig.apply(this, arguments); //call original ShowPic

           ssObj.link.href = '';  //<--put your custom picture link url here 



ExecuteOrDelayUntilScriptLoaded(SlideshowObjectInitializer, 'imglib.js');

Step 2. Add Content Editor web part (CEWP) on page where Slideshow web part is located and in the Content Editor tool pane, under Content Link, type /SiteAssets/SlideshowObjectInitializer.txt.

Note: these changes should be applied before the Slideshow is loaded, for this place CEWP in the same zone but before Picture Library Slideshow web part

For more details about customizing Slideshow web part please follow this blog post

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.