{{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
Container gesetzt, außer dem ersten. **Z.B. in deinem "Bilder spezial" Template:**
{IMAGE} [CAPTION]

{CAPTION}

[/CAPTION][CAPTION_ELSE]

{IMGNAME}

[/CAPTION_ELSE] [INFOTEXT] {INFOTEXT} [/INFOTEXT] [INFOHTML] {INFOHTML} [/INFOHTML]
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'); ?>