Scriptease - Codesnippets

Next-Gen Gallery – Eigene Galerietemplates für verschiedene Galerien

Es kann hin und wieder vorkommen, dass man mit Hilfe des NextGen Gallery-Plugins verschiedene Galerien wie Fancybox oder Lightbox einbinden möchte. Dies kann durchaus schwierig werden, da das Plugin die Galerieeinstellungen standardmäßig Global auf die gesamte WordPress-Seite anwendet. Durch einige kleinere Konfigurationen kann man dies aber anpassen.

Im ersten Schritt müsst ihr euch ein sogenanntes Galerie-Template anlegen, welches im Plugin-Ordner von Next-Gen unter wp-content\plugins\nextgen-gallery\view abgespeichert wird, beispielsweise als gallery-fancy.php.

Mithilfe dieses Templates ist es euch dann möglich, nähere Konfigurationen für die Einbindung des Quellcodes vorzunehmen, der für die Galerie verwendet werden soll.

<?php
    /**

    @description Fancy template for Fancybox WordPress plugin
    Template Page for the gallery overview
    **/
    ?>
    <?php if (!defined ('ABSPATH')) die ('No direct access allowed'); ?>
    <?php if (!empty ($gallery)) : ?>
    <?php foreach ($images as $image) : ?>
<a  class="group"  rel="a"  href="<?php echo $image->imageURL ?>" title="<?php echo $image->description ?>" <?php echo $image->thumbcode ?>>
<img src="<?php echo $image->thumbnailURL ?>" alt="<?php echo $image->alttext ?>" title="<?php echo $image->description ?>" />
</a>
    <?php endforeach; ?>
    <?php endif; ?>

Im nächsten Step müsst ihr euch entscheiden, wie ihr die notwendigen Scripte in den Head-Bereich einbindet. Ich habe mich für verschiedene Page-Templates und eine entsprechende Abfrage entschieden. Den Beispielcode dazu seht ihr hier:

<?php
global $wp_query;
$template_name = get_post_meta( $wp_query->post->ID, '_wp_page_template', true );
if ($template_name == 'template-galerie.php')
       {
?>
	       <link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/css/galleriffic-1.css" type="text/css" />
	       <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jquery-1.3.2.js"></script>
	       <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jquery.galleriffic.js"></script>
	       <script type="text/javascript">
		     $('div.navigation').css({'width' : '300px', 'float' : 'left'});
		     $('div.content').css('display', 'block');
		     $(document).ready(function() {
		     $('#thumbs').galleriffic({
		            imageContainerSel:      '#slideshow',
			    controlsContainerSel:   '#controls'
					     });
			       });
	       </script>
<?php
       }
else
       {
  ?>
	      <link rel="stylesheet" type="text/css" href="<?php bloginfo('template_url'); ?>/css/jquery.fancybox.css" media="screen" />
	      <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jquery-1.3.2.min.js"></script>
	      <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jquery.easing.1.3.js"></script>
	      <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jquery.fancybox-1.2.1.pack.js"></script>
	      <script type="text/javascript">
		 $(document).ready(function() { $("a#single_image").fancybox(); $("a#inline").fancybox({
		 'hideOnContentClick': true }); $("a.group").fancybox({  'frameWidth': 510, 'frameHeight': 310, 'overlayShow': true }); });
	      </script>
<?php
       }
?>

Nun runden wir diese Code-Suppe noch ab, in dem wir in die jeweilige Template-Datei den Shortcode einbinden, der wie folgt aussieht:

<?php echo do_shortcode('[nggallery id=1 template=fancy]    '); ?>

Der im Shortcode angegebene Templatename entspricht dem zweiten Teil des Dateinamens der NextGen-Template-Datei.

Hinzugefügt von Rolf in Wordpress | Keine Kommentare
Tags: , , , ,



Kommentar verfassen: