Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

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.

share|improve this question

2 Answers 2

up vote 0 down vote accepted

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.

share|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 

      };
  })(ShowPic);

}  


ExecuteOrDelayUntilScriptLoaded(SlideshowObjectInitializer, 'imglib.js');
</script>

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

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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