NAVIGATION
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
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 ...
<?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 ]---------------- ?>