NAVIGATION
RT which will combine (Prev/Next) all images (article / CPs / gallery / custom scripts) of a category (article) where the LightBox (SlimBox) is used.
If there are multiple pictures in an article from the article header, CPs and custom scripts, they (normally) can´t be connected by prev / next links with the LightBox.
To include all the images of the category (article header, CPs, gallery-script) into the sliding process you can use this RT.
(Also works with the extension MediaBox-Advanced).
<note> The RT actually will include the picture from the article head, the CP text w/image, the gallery script and all other scripts /CPs if the LightBox were activated here.
</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: Bug solved “If no category is specified in the array”.
Update 19.01.2012 KH: Bug solved at “all image CPs and no gallery images:” → RegEx [^gallery] changed to (?!gallery)
Tag: –
Filename: rt_lighbox_prev_next_all01.php
Folder: template/inc_script/frontend_render/
Condition: → /config/phpwcms/conf.inc.php
In the range === CUSTOM INPUT === of the RT can be indicated, for which categories this behavior is desired.
For this we registered the IDs of the categories into the Array $_categories = array( );.
Two characteristics: Include ot exclude this behavior.
Whether include or exclude is set up with the switch $inc_categories = true/false;.
true = include aktiv, false = exclude aktiv
Example:
$inc_categories = true; $_categories = array(5,7,23,67);
In the categories with IDs 5,7,23,67 it is checked whether a Lightbox is active and the series of images can be combined (Prev/Next).
If $inc_categories = false; the pictures would be excluded of this operation in the categories with the ID 5,7,23,67.
<note> If the array $_categories = array( ); is empty, each category will be reviewed on the use of LightBox, regardless of the setting has been made in the $inc_categories.
</note>
Other parameters are:
—— Template range: Beginning and end of areas to be scaned
This areas are marked in the template with <!-- bbbbbbbb //-->{CONTENT}<!-- eeeeeee //-->.
All other content placeholder as {LEFT}, {RIGHT}, {FOOTER}, {HEADER} or your own {CUSTOM_BLOCKS} can be integrated.
E.g. <!-- bbbbbbbb //-->{RIGHT}<!-- eeeeeee //-->
“bbbbbbbb” or “eeeeeee” are standing for the specified marker texts e.g.
“bbbbbbbb” = “content-begin” and “eeeeeee” = “content-end” as e.g.
<!-- content-begin //-->{LEFT}<!-- content-end //-->.
$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 ...
<?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 solved 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 ]---------------- ?>