{{indexmenu_n>20}}
====== Ein Thumb - mehrere Großansichten ======
===== Problemstellung: =====
Der CP Bilder spezial soll nur vom ersten Bild eine Vorschau //(Thumb)// anzeigen. Alle großen Bilder sollen jedoch in der LightBox mit - next/prev - sichbar sein.
\\
===== Frontend: =====
Nur das erste Vorschaubild wird angezeigt, alle anderen Thumbs sind nicht sichbar.
{{:deutsch:phpwcms-system:artikel:contentparts:bilder-spezial:one_thumb_several_largesize_fe_de_1.gif|}}
\\
==== Lösung V1: ====
**Bis Version 1.4.5 r401**
- Die Thumbs werden einfach mit **positon: absolute;** übereinandergelegt.
- Nun feht noch ein Index //(z-index)//, damit wirklich das erste Thumb über allen anderen liegt.
- Dazu kann ein kleiner CP-Trigger verwendet werden.
==== Lösung V2: ====
**Bis Version 1.4.5 r401**
**//(Voreingestellt im CP-Trigger)//**
- Die Thumbs werden mit **display: none;** versteckt.
- Dem ersten Thumb wird nun mit einem kleinen CP-Trigger **display: block;** zugeordnet.
\\
==== Lösung V3: ====
**Ab Version 1.4.6 r402** mit allem Patches, download siehe docu "[[http://www.phpwcms-docu.de/download-dev-versionen.phtml|DEV - Versionen im ZIP Format]]".
Forum: [[http://forum.phpwcms.org/viewtopic.php?p=125981#p125981|Bilder einfügen mit nur 1 Vorschaubild]]
Platziere im Template zu dem CP im umschließenden Container in einer style-Anweisung:
[PHP]if ('{FIRST}' == '') echo 'display: none;';[/PHP]
"display: none" wird für alle umschließenden
Die Anzahl der Spalten im BE muss mindestens so groß sein wie die Anzahl der Bilder, da die Kennung ** %%{FIRST} = %% ** immer an einem Spaltenanfang gesetzt wird.
Es sind keine weiteren Scripte notwendig.
\\
~~UP~~
===== Backend: =====
{{:deutsch:phpwcms-system:artikel:contentparts:bilder-spezial:one_thumb_several_largesize_be_de_1.gif|}}
\\
~~UP~~
===== Template V1: =====
**Bis Version 1.4.5 r401**
##/template/inc_cntpart/imagespecial/one_thumb_several_largesize.tmpl## anlegen und den unten stehen Code dort ablegen. \\
- Nach einem neuerlichen Aufruf des CPs erscheint dieses Template in der Auswahlliste und wird selektiert.
[TITLE]{TITLE}
[/TITLE]
[SUBTITLE]{SUBTITLE}
[/SUBTITLE]
[TEXT]{TEXT}[/TEXT]
{IMAGE}
\\
===== Template V2: =====
**Bis Version 1.4.5 r401**
##/template/inc_cntpart/imagespecial/one_thumb_several_largesize.tmpl## anlegen und den unten stehen code dort ablegen. \\
- Nach einem neuerlichen Aufruf des CPs erscheint dieses Template in der Auswahlliste und wird selektiert.
[TITLE]{TITLE}
[/TITLE]
[SUBTITLE]{SUBTITLE}
[/SUBTITLE]
[TEXT]{TEXT}[/TEXT]
\\
===== CP-Trigger =====
**Bis Version 1.4.5 r401**
Die Datei ##/template/inc_Script/frontend_init/cp_trig_images_special.php## erstellen und den unten stehenden Code dort hineinkopieren.
Bitte kommentieren Sie je nach verwendeter Version //(V1/V2)// die entsprechende Zeile aus. Voreingestellt ist die Version 2 //(V2)//.
':block;" id="img0'
*/
/* Only the first occurence is replaced ----------- */
function str_replace_once($needle , $replace , $haystack){
// Looks for the first occurence of $needle in $haystack
// and replaces it with $replace.
$pos = strpos($haystack, $needle);
if ($pos === false) {
// Nothing found
return $haystack;
}
return substr_replace($haystack, $replace, $pos, strlen($needle));
}
// V1: Sucht im CP Image Special nach 'z-index:550' und ersetzt durch 'z-index:999'
// V2: Sucht im CP Image Special nach 'style="display:none;" id="img0'
// und ersetzt mit 'style="display:block;" id="img0'
// --------------------------------------------------------------------------------
function CP_IMAGES_SPECIAL($text, & $data) {
if( ($data['acontent_type'] == 31) AND // 31 is CP imgagesspecial
(strpos($text, '') != false) ) // Ist es das richtige Template?
{
// $text = str_replace('z-index:550','z-index:999', $text); // V1
$text = str_replace_once(':none;" id="img0' , ':block;" id="img0' , $text); // V2
}
return $text;
}
register_cp_trigger('CP_IMAGES_SPECIAL');
?>