LightBox alle Bilder verbinden

RT der alle Bilder einer Kategorie (Artikels) (Artikelkopf / CPs / Gallery / Custom-Scripte) in denen die LightBox (SlimBox) verwendet wird mit Prev/Next verbindet.

Sind mehrere Bilder in einem Artikel aus dem Artikelkopf und CPs vorhanden, lassen sich diese nicht miteinander durch prev/next über die LightBox verbinden.

Um alle Bilder der Kategorie Artikelkopf/CP/Gallery-übergreifend in den Rollvorgang einzuschließen kann dieser RT eingesetzt werden.

(Funktioniert auch mit der Erweiterung MediaBox-Advanced).


<note> Der RT in der jetzigen Form schließt auch Einzelbilder aus dem Artikelkopf, dem CP Text mit Bild, dem Gallery-Script und allen anderen Scripten/CPs ein, die zur Bilddarstellung die LightBox verwenden. </note>


rt_lighbox_prev_next_all01.php V1.1 31.12.09

Docu: –
Forum: –

Autor: K.Heermann (flip-flop) http://planmatrix.de
CMS Version: >= 1.3
Version: V1.1
Update 05.08.2011 KH: Fehler behoben “Wenn keine Kategorie im Array angegeben wurde” (“If no category is specified in the array”).
Update 19.01.2012 KH: Fehler behoben in “all image CPs and no gallery images:” RegEx [^gallery] ersetzt durch (?!gallery)

Tag: –

Dateiname: rt_lighbox_prev_next_all01.php

Verzeichnis: template/inc_script/frontend_render/

Bedingung:/config/phpwcms/conf.inc.php

  • $phpwcms['allow_ext_render'] = 1;



Beschreibung

Im Bereich === CUSTOM INPUT === des RTs kann angegeben werden, für welche Kategorien und ob Artikelköpfte und/oder CPs und/oder Gallery-Script und/oder Custom-Scripte dieses Verhalten gewünscht ist.

Hierzu werden in das Array $_categories = array( ); die IDs der Kategorien eingetragen die entweder dieses Verhalten zeigen (include) oder nicht (exclude) zeigen sollen.
Ob zeigen (include) oder nicht zeigen (exclude) wird mit dem Schalter $inc_categories = true|false; festgelegt.

true = include aktiv, false = exclude aktiv

Beispiel:

  $inc_categories  = true;
  $_categories     = array(5,7,23,67);

In den Kategorien mit der ID 5,7,23,67 wird überprüft, ob die LightBox aktiv ist und die Bilderreihen (wenn vorhanden) zusammengefasst (Prev/Next).
Wäre $inc_categories = false; würden die Bilder in den Kategorien mit der ID 5,7,23,67 von diesem Vorgang ausgeschlossen aber alle anderen Kategorien eingeschlossen.

<note> Ist das Array leer $_categories = array( );, wird jede Kategorie auf die Verwendung der LightBox überprüft, unabhängig von der Einstellung die in $inc_categories getroffen wurde. </note>

Weitere Parameter sind:

—— Template range: Anfang - Ende der abzusuchenden Bereiche

Diese Bereiche werden im Template mit <!-- bbbbbbbb //-->{CONTENT}<!-- eeeeeee //--> gekennzeichnet.

Es können auch alle anderen Contentplatzhalter wie {LEFT}, {RIGHT}, {FOOTER}, {HEADER} oder eigene {CUSTOM_Bloecke} eingebunden werden.
Z.B. <!-- bbbbbbbb //-->{RIGHT}<!-- eeeeeee //-->

“bbbbbbbb” bzw. “eeeeeee” stehen für die angegebenen Markierungstexte z.B.
“bbbbbbbb” = “content-begin” und “eeeeeee” = “content-end” also z.B.
<!-- content-begin //-->{LEFT}<!-- content-end //-->.

$tag_before        = 'content-begin';  // Markierungstext fuer den Anfang des zu untersuchenden Contents z.B. <!-- content-begin //-->
$tag_after         = 'content-end';    // Markierungstext fuer das Ende des zu untersuchenden Contents z.B. <!-- content-end //-->


—— Some specific parameters: Einzel-, Arktikelkopf- und/oder Galeriescript-Bilder einbinden

$one_image_on      = true;    // true = binde auch Einzelbilder ein z.B. aus "Text mit Bild",   false = auschlieszen ...
$article_list_on   = false;   // true = binde Artikelkopfbilder ein, wenn der Artikellistenmodus aktiv ist,   false = auschlieszen ...
$gallery_on        = false;   // true = binde Bilder aus dem Gallery-Script ein,   false = auschlieszen ...


Code

rt_lighbox_prev_next_all01

<?php
/*********************************************************************************************
 V1.1  31.12.09 K.Heermann (flip-flop)
 "LightBox Prev/Next all": All LightBox images bind up
 New rel for all LB pictures is called: rel="lightbox[catid-XX]"
 Where XX is the current category ID.
 Update 05.08.2011 KH: If no category is specified in the array
 Update 19.01.2012 KH: Bug correction at "all image CPs and no gallery images:"
                       RegEx [^gallery] changed to (?!gallery)
 
 Filename: rt_lighbox_prev_next_all01.php
 Folder:   /template/inc_script/frontend_render/
 Switch:   $phpwcms['allow_ext_render'] = 1; (/config/phpwcms/conf.inc.php)
 
**********************************************************************************************/
 
// -------------------------------------------------------------------------------------------
// obligate check for phpwcms constants
  if (!defined('PHPWCMS_ROOT')) {
    die("You Cannot Access This Script Directly, Have a Nice Day."); }
// -------------------------------------------------------------------------------------------
 
// ===== CUSTOM INPUT ========================================================================
 
// ------ Some parameters if LightBox for images is set
 
$inc_categories    = true;    // true = include active,   false = exclude active
 
// ------ Fill in your inc/excluded categories e.g. array(7,23,16,25,33)
$_categories       = array( );
 
// ------ Template range
// begin - end of triggered content marked in template with <!-- bbbbbbbb //-->{CONTENT}<!-- eeeeeee //-->
$tag_before        = 'content-begin';  // Marking text for the beginning of the content to be scanned e.g. <!-- content-begin //-->
$tag_after         = 'content-end';    // Marking text for the end of the content to be scanned e.g. <!-- content-end //-->
 
// ------ Some specific parameters
$one_image_on      = true;    // true = include images without prev/next (one image),   false = exclude ...
$article_list_on   = false;   // true = include article images in article list mode,   false = exclude ...
$gallery_on        = false;   // true = include images generated by gallery script,   false = exclude ...
 
 
 
// ===========================================================================================
 
 
$text = '';
 
$cat_id     = $content['cat_id'];    // current category ID
 
if (count($_categories) == 0 ) $_categories[0] = $cat_id;  // Update 05.08.2011 KH: If no category is specified in the array
 
if ($inc_categories ) {  // include active?
 
    if ( in_array($cat_id, $_categories) ) {
 
//        $text = preg_match("/\<!-- content-begin \/\/--\>(.*?)\<!-- content-end \/\/--\>/ism", $content['all'], $g) ? $g[1] : '';
        $text = preg_match("/\<!-- $tag_before \/\/--\>(.*?)\<!-- $tag_after \/\/--\>/ism", $content['all'], $g) ? $g[1] : '';
    }
}
 
else { // exclude active!
 
    if ( !in_array($cat_id, $_categories) ) {
 
        $text = preg_match("/\<!-- $tag_before \/\/--\>(.*?)\<!-- $tag_after \/\/--\>/ism", $content['all'], $g) ? $g[1] : '';
    }
 
}
 
    if ( !$article_list_on AND ($content['list_mode'] == true) ) $text = '';  // in article list mode and include article images?
 
 
    // ------- lets go and pic up the images
    if (!empty ($text)) {
 
 
       if ($gallery_on) // all image CPs and the images from gallery too
 
          $text = preg_replace('/rel="lightbox\[(.*?)\]"/','rel="lightbox[catid-'.$cat_id.']"', $text);  // fill content
 
       else // all image CPs and no gallery images
 
          $text = preg_replace('/rel="lightbox\[(?!gallery).*?\]"/i',
           'rel="lightbox[catid-'.$cat_id.']"', $text);  // fill content
 
 
       if ($one_image_on)  // images without prev/next (one image) like CP text w/image
 
       $text = str_replace('rel="lightbox"','rel="lightbox[catid-'.$cat_id.']"', $text);
 
 
       // And write it back
       $content['all'] = preg_replace("/\<!-- $tag_before \/\/--\>(.*?)\<!-- $tag_after \/\/--\>/ism",
               $text, $content['all']);  // fill content
    }
 
 
// -----------[ CLOSE ]----------------
?>
deutsch/ersetzer_rts/frontend_render/lighbox-prev-next-verbinden/lightbox-bilder-verbinden.txt · Last modified: 2018/06/03 18:09 (external edit)
www.planmatrix.de www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0