Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 19. Januar 2011 17:26

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.017
Webseite

Autolightbox

Hier mal den in diesem Thema

http://www.cmsmadesimple.de/forum/viewt … 2244#p2244

besprochenen Tag

[== PHP ==]
//   Kurzanleitung:
// 1. Erstelle einen Userdefined Tag (UDT)
// 2. Erstelle einen Event: ContentEditPre der diesen Tag benutzt
// 3. Umgestellt auf JQuery-Lightbox Plugin a class="lightbox"

// Von mir geänderte oder hinzu gefügte Zeilen zeigen am Anfang: Klenkes-xx
// Klenkes-10: Test auf Inhalt title="xxx", erst dann Zuweisung und Einbau
// Klenkes-20: Verzweigung, die einen leeren title tag berücksichtigt


function replaceContentImageWithThumbs($txt, $thumb_prefix){

global $gCms;

$config =& $gCms->GetConfig();
$rootPath = $gCms->config["root_path"] ;
 $imgs = findAllImg($txt) ;
 for ($i=0 ; $i < count($imgs); $i++){
   $filename = basename($imgs[$i]["src"]);

   //already a thumb?
   if (substr($filename, 0 ,strlen($filename)) != $thumb_prefix ){
     $imgInfo = getimagesize($rootPath."/".$imgs[$i]["src"]) ;

     //condition to generate thumb
     if ($imgInfo[0] > $imgs[$i]["width"] || $imgInfo[1] > $imgs[$i]["height"]){
       $thumbSrc = generateImgThumb($imgs[$i]["src"], $imgs[$i]["width"], $imgs[$i]["height"], $thumb_prefix);

       //let's replace the content
       $pattern = "<[iI][mM][gG][^>]*src=\"".$imgs[$i]["src"]."\"[^>]*>" ;
       $a_pattern = "<[Aa][^>]*><[iI][mM][gG][^>]*src=\"".$imgs[$i]["src"]."\"[^>]*>\s*</a>" ;
       $pattern = "/".str_replace("/", "\/", $pattern)."/" ;
       $a_pattern = "/".str_replace("/", "\/", $a_pattern)."/" ;

          if (preg_match($a_pattern, $txt)){
            $txt = preg_replace($pattern, $imgs[$i]["beforSrc"]."src=\"".$thumbSrc."\"".$imgs[$i]["afterSrc"], $txt) ; // Klenkes. Nix passiert...
          }else{

             if (!empty($imgs[$i]["title"])) { //Klenkes-20. Test darauf ob überhaupt ein Titeltext eingegeben wurde... Falls ja Einbau und Ausgabe...
              $txt = preg_replace($pattern, "<a target=\"_blank\""." title=\"".$imgs[$i]["title"]."\" "."class=\"lightbox\" href=\"".$imgs[$i]["src"]."\">".$imgs[$i]["beforSrc"]."src=\"".$thumbSrc."\"".$imgs[$i]["afterSrc"]."</a>", $txt) ;
             }else{ // Fall: Kein Titel wurde eingegeben. Also obige Zeile nur ohne title="xxx"
              $txt = preg_replace($pattern, "<a target=\"_blank\" "."class=\"lightbox\" href=\"".$imgs[$i]["src"]."\">".$imgs[$i]["beforSrc"]."src=\"".$thumbSrc."\"".$imgs[$i]["afterSrc"]."</a>", $txt) ;
             }

          }

     }

   }
 }

 return $txt ;
}


// #############################################################################################
function findAllImg($txt){

preg_match_all("/<[iI][mM][gG][^>]*>/", $txt, $out, PREG_PATTERN_ORDER);
$k=0 ;
for ($i = 0 ; $i < count($out[0]) ; $i++)
{
 $imgTxt = $out[0][$i] ;
 preg_match("/width=\"([^\"]*)\"/", $imgTxt, $imgWidth);
 preg_match("/height=\"([^\"]*)\"/", $imgTxt, $imgHeight);
 preg_match("/(.*)src=\"([^\"]*)\"(.*)/", $imgTxt, $imgSrc);
 preg_match("/title=\"([^\"]*)\"(.*)/", $imgTxt, $imgtitle); // Klenkes-10: Suche nach dem title und weise Inhalt $imgtitle zu

 if (!empty($imgWidth[1]) && !empty($imgHeight[1]) && !empty($imgSrc[2]) ){
   $img[$k]["width"] = $imgWidth[1] ;
   $img[$k]["height"] = $imgHeight[1] ;
   $img[$k]["src"] = $imgSrc[2] ;
   $img[$k]["beforSrc"] = $imgSrc[1] ;
   $img[$k]["afterSrc"] = $imgSrc[3] ;

     // Klenkes-10: Wenn Variable belegt dann ab in's array(glaub ich) Weiter geht's mit der Ausgabe oben.
     if (!empty($imgtitle[1]) ) {
     $img[$k]["title"] = $imgtitle[1];
     }

   $k++;
 }
}
return $img ;
}


// Klenkes: Ab hier nichts mehr geändert.
// #############################################################################################
//returns new path to thumb
function generateImgThumb($src, $width, $height, $thumb_prefix){

global $gCms;

$config =& $gCms->GetConfig();
$rootPath = $gCms->config["root_path"] ;
$imageManagerRelPath = "lib/filemanager/ImageManager/" ;
require_once($rootPath."/".$imageManagerRelPath."Classes/ImageManager.php");
require_once($rootPath."/".$imageManagerRelPath."config.inc.php");

$thumbName = getThumbPath($rootPath."/".$src, $thumb_prefix, $width, $height) ;

//generujemy miniaturke
if(!is_file($thumbName)){

$imgInfo = getimagesize($rootPath."/".$src);

if(!is_array($imgInfo))
 return $src;

require_once($rootPath."/".$imageManagerRelPath.'Classes/Thumbnail.php');

// if image smaller than config size for thumbs
 if ($imgInfo[0] <= $width && $imgInfo[1] <= $height)
 {
   $thumbnailer = new Thumbnail($imgInfo[0],$imgInfo[1]);
   $thumbnailer->createThumbnail($rootPath."/".$src, $thumbName);
 }

// if image bigger than config size for thumbs
 else {
   $thumbnailer = new Thumbnail($width, $height);
   $thumbnailer->createThumbnail($rootPath."/".$src, $thumbName);
 }

        if(is_file($thumbName))
        {
                return getThumbPath($src,$thumb_prefix,$width,$height) ;
        }

}
return getThumbPath($src,$thumb_prefix,$width,$height) ;
}

// #############################################################################################
function getThumbPath($fullpathfile, $thumb_prefix, $width, $height)
{
 $path_parts = pathinfo($fullpathfile);
 return $path_parts['dirname']."/".$thumb_prefix.$width."_".$height."_".$path_parts['basename'];
}


$propertyHolder = $params['content']->mProperties;
$values = $params['content']->mProperties->mPropertyValues ;
$thumb_prefix = "thumb_" ;

foreach($values as $key=>$value)
{
 if (substr($key, 0 ,7) == "content" ){
  $propertyHolder->SetValue($key, replaceContentImageWithThumbs($value, $thumb_prefix) ) ;
 }
}

Offline

#2 19. Januar 2011 19:21

faglork
arbeitet mit CMS/ms
Ort: Fränkische Schweiz
Registriert: 15. Dezember 2010
Beiträge: 1.152
Webseite

Re: Autolightbox

Ahhh! Auf die Idee mit dem Event bin ich noch gar nicht gekommen. Cool.

BTW: global $gCms; soll man doch nicht mehr verwenden ...


Servus,
Alex

Offline

#3 19. Januar 2011 20:12

nicmare
Server-Pate
Registriert: 15. Dezember 2010
Beiträge: 1.314
Webseite

Re: Autolightbox

em wie genau ist der ablauf von dem udt?
im tiny sucht man sich ein bild (normale größe) und verkleinert es? dann hats ja noch die selbe dateigröße.
wenn man jetzt speichert, wird dieses bild mit nem thumbnail ersetzt? oder wie soll ich das verstehen

Offline

#4 19. Januar 2011 20:39

Klenkes
Server-Pate
Ort: 89428 Syrgenstein
Registriert: 17. Dezember 2010
Beiträge: 1.437

Re: Autolightbox

Nein, nicht ganz.
Gibt es bereits ein Thumbnail wird es verwendet. Nach dem Upload im Tiny ist es ja meist da.

Du lädst ganz normal ein Bild über den Filepicker hoch. Wählst es aus, gibst einen Titel ein, und Speichern.
Im Tiny Editor das Bild verkleinern und die Seite speichern.

Wenn du nachträglich die Bildgrösse veränderst wird ein neues Thumbnail mit der neuen Grösse erstellt.

So sieht das dann aus:

[== HTML ==]
<a class="lightbox" title="Dies ist der Titel" href="uploads/images/grossbild.jpg" target="_blank">
 <img src="uploads/images/thumb_150_100_grossbild.jpg" alt="alt-attribut" width="150" height="100" />
</a>

--
Bernd

Beitrag geändert von Klenkes (19. Januar 2011 20:40)

Offline

#5 19. Februar 2011 14:25

Connie
Server-Pate
Ort: Gribow
Registriert: 12. Dezember 2010
Beiträge: 216
Webseite

Re: Autolightbox

steh ich auf dem Schlauch?

habs verstanden was mit "Erstelle einen Event" gemeint ist, aber:

was also braucht es genau für dieses UDT?

- TinyMCE
- dieses UDT

und sonst noch was?

Edit #1: "erstelle einen Event" => für Dummies: Such "ContentEditPRe" in der Ereignisverwaltung raus, klicke ihn an und füge ihm in der Auswahlbox links unten den UDT zu, den man gerade angelegt hat

mal sehen, obs jetzt geht

Edit #2:
ich hab mir Jquery-Lightbox-Plugin heruntergeladen von http://leandrovieira.com/projects/jquery/lightbox/ und in das Lib-Verzeichnis eingestellt

ich habe das CSS in mein CSS-File eingebunden

ich habe im Header des Templates die Links gesetzt;

<script type="text/javascript" src="lib/jquery-lightbox/js/jquery.js"></script>
<script type="text/javascript" src="lib/jquery-lightbox/js/jquery.lightbox-0.5.js"></script>


ich habe das UDT "autolightbox" erstellt
ich habe das in der Ereignisverwaltung dem ContentPreEdit-Ereignis zugeordnet

ich habe den Cache von CMSMS 1.9.2 gelöscht
ich habe ein Bild eingefügt und Titel gegeben, dann hab ich die Bild-Größe im TinyMCE geändert und abgespeichert

dann steht im SourceCode:

<p><a target="_blank" title="Böser böser Panda" class="lightbox" href="uploads/images/pandaevil.jpg"><img title="Böser böser Panda" src="uploads/images/thumb_193_212_pandaevil.jpg" alt="" width="193" height="212" /></a>

Aber diese CSS-Klasse hab ich nicht.. und das Bild wird einfach im neuen Fenster groß geöffnet

seid doch bitte so lieb und erklärt mir Schritt für Schritt was ich installiert haben muss und wie ich es einbinde
ich hab den Eindruck, hier unterhalten sich nur Spezls, die eh wissen wie's geht..

Beitrag geändert von Connie (19. Februar 2011 15:19)

Offline

#6 19. Februar 2011 20:26

nockenfell
Moderator
Ort: Lenzburg, Schweiz
Registriert: 09. November 2010
Beiträge: 2.927
Webseite

Re: Autolightbox

Wenn ich deinen Beitrag richtig interpretiere, hast du autolightbox nun zumindest soweit zum laufen gekriegt, dass im Quelltext der Link korrekt dargestellt wird.

Ich habe das bei mir wie folgt am laufen. Ich nutze das jquery.lightbox Plugin
http://leandrovieira.com/projects/jquery/lightbox/

Um allen Bild-Links automatisch die Lightbox anzufügen, nutze ich folgendes JavaScript:

jQuery(function($) {
    $("a[href$='.jpg'], a[href$='.jpeg'], a[href$='.gif'], a[href$='.png'], a[href$='.JPG'], a[href$='.JPEG'], a[href$='.GIF'], a[href$='.PNG']").attr( {rel: "page"}).lightBox();
});

Alternativ kannst du auch den UDT entsprechend bearbeiten, dass die Klasse, die ID oder der Rel Link entsprechend dem von dir eingesetzten Lightboxplugin funktioniert. Klenkes hat dazu im Code ein paar Kommentare hinterlassen.


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#7 19. Februar 2011 20:49

Klenkes
Server-Pate
Ort: 89428 Syrgenstein
Registriert: 17. Dezember 2010
Beiträge: 1.437

Re: Autolightbox

Connie schrieb:

seid doch bitte so lieb und erklärt mir Schritt für Schritt was ich installiert haben muss und wie ich es einbinde
ich hab den Eindruck, hier unterhalten sich nur Spezls, die eh wissen wie's geht..

Im Prinzip funktioniert's bei dir ja schon, bis auf die Tatsache, dass kein Lightbox Overlay erscheint, sondern ein neues Fenster.
Das sagt mir eigentlich, dass das Lighbox Javascript nicht funktioniert, weil entweder nicht eingebunden oder ein Pfadproblem besteht.

Die Klasse lightbox brauchst du nirgendwo. Die zeigt dem Script nur was es verarbeiten soll.

(Au Menno, mit Gipsarm schreibt sich's echt langsam... wenn man auch noch Gipsarmhänder ist)
mad

Offline

#8 19. Februar 2011 22:33

nockenfell
Moderator
Ort: Lenzburg, Schweiz
Registriert: 09. November 2010
Beiträge: 2.927
Webseite

Re: Autolightbox

Klenkes schrieb:

(Au Menno, mit Gipsarm schreibt sich's echt langsam... wenn man auch noch Gipsarmhänder ist)
mad

Gute Besserung!


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#9 20. Februar 2011 09:53

Connie
Server-Pate
Ort: Gribow
Registriert: 12. Dezember 2010
Beiträge: 216
Webseite

Re: Autolightbox

Erstmal gute Besserung, Klenkes!  Und Geduld!

Ich habs nochmal ausprobiert:
ich hab das Jquery-Lightbox-Plugin eingebunden, sogar mit absolutem Pfad:

<script type="text/javascript" src="http://www.....de/lib/jquery_lightbox/js/jquery.js"></script>
<script type="text/javascript" src="http://www......de/lib/jquery_lightbox/js/jquery.lightbox-0.5.pack.js"></script>

Die Funktion wurde eingebunden, mal im Header, mal im Content:

<script type="text/javascript">
jQuery(function($) {
    $("a[href$='.jpg'], a[href$='.jpeg'], a[href$='.gif'], a[href$='.png'], a[href$='.JPG'], a[href$='.JPEG'], a[href$='.GIF'], a[href$='.PNG']").attr( {rel: "page"}).lightBox();
</script>

mit Fancybox geht es, ist aber umständlich, da nicht automatisch:

hab ich was übersehen?

Offline

#10 20. Februar 2011 10:29

Klenkes
Server-Pate
Ort: 89428 Syrgenstein
Registriert: 17. Dezember 2010
Beiträge: 1.437

Re: Autolightbox

[== HTML ==]
<script type="text/javascript" src="http://www.flutluke.de/uwe_schloen/lib/jquery_lightbox/js/jquery.js"></script>
<script type="text/javascript" src="http://www.flutluke.de/uwe_schloen/lib/jquery_lightbox/js/jquery.lightbox-0.5.pack.js"></script>

Stimmt der Pfad so wirklich? Mit /uwe_schloen/ mittendrin?
Auf der Fancyboxseite ist er nicht so, und da klappt's ja.

Ich initialisiere die Links so:

<script type="text/javascript">
$(function() {
$('a.lightbox').lightBox();
});
</script>

Offline

#11 20. Februar 2011 10:35

Klenkes
Server-Pate
Ort: 89428 Syrgenstein
Registriert: 17. Dezember 2010
Beiträge: 1.437

Re: Autolightbox

Hey! Und ausserdem fehlt eine schliessende Klammer in deiner Funktion!

<script type="text/javascript">
jQuery(function($) {
  
    $("a[href$='.jpg'], a[href$='.jpeg'], a[href$='.gif'], a[href$='.png'], a[href$='.JPG'], a[href$='.JPEG'], a[href$='.GIF'], a[href$='.PNG']").attr( {rel: "page"}).lightBox();
}
</script>

Die letzte Klammer fehlte.

Offline

#12 20. Februar 2011 10:48

Connie
Server-Pate
Ort: Gribow
Registriert: 12. Dezember 2010
Beiträge: 216
Webseite

Re: Autolightbox

ja, der Pfad stimmt, das sitzt alles noch in einer Unterseite der Flutluke, wird nach Domaintransfer "richtig"

bei Fancybox hatte ich alles relativ, ausgehend von /uwe_schloen/ eingebunden
jetzt mal hier bei Lightbox mit absoluten Pfaden..

ich hab die Klammer geschlossen, hab überprüft, daß das UDT auch wirklich mit dem Ereignis verknüpft ist (isses)

Globalen Speicher geschlossen, Browser gewechselt etc. => nada...

ich probiers mal mit deinem Script im Template, habs vor Content, habs im Header eingebunden, es tut nicht..

ich versteh das nicht, hab doch Lightbox schon seit der ersten Version im Einsatz, mit FCKEditor oder manuell ..

Beitrag geändert von Connie (20. Februar 2011 10:51)

Offline

#13 20. Februar 2011 11:05

Klenkes
Server-Pate
Ort: 89428 Syrgenstein
Registriert: 17. Dezember 2010
Beiträge: 1.437

Re: Autolightbox

Moment mal...

[== Javascript ==]
<script type="text/javascript">  jQuery(function($)   
{          
$("a[href$='.jpg'], a[href$='.jpeg'], a[href$='.gif'], a[href$='.png'], a[href$='.JPG'], a[href$='.JPEG'], a[href$='.GIF'], a[href$='.PNG']").attr( {rel: "page"}).lightBox();  
});  </script>

Der klobige Gips wirkt sich offensichtlich nicht nur auf meinen Klickfinger aus, sondern auch auf mein Hirn!
Ich hatte noch eine Klammer und ein Semikolon vergessen oder der Gipsstumpf hats wieder weg getippt. So wie hier müsste der Javascriptaufruf aussehen.

Kopier's doch mal.

Offline

#14 20. Februar 2011 11:26

Connie
Server-Pate
Ort: Gribow
Registriert: 12. Dezember 2010
Beiträge: 216
Webseite

Re: Autolightbox

sorry, es tut einfach nicht, alle Caches gelöscht,
anderes Bild eingebunden und verkleinert

vielleicht hab ich den UDT falsch, ich schau da nochmal nach

Offline

#15 20. Februar 2011 11:35

Connie
Server-Pate
Ort: Gribow
Registriert: 12. Dezember 2010
Beiträge: 216
Webseite

Re: Autolightbox

Ich kann machen was ich will, es wird nicht aktiviert,

Fehlerkonsole meldet:

JQuery is not defined

aber im Template hab ich die 2 JQuery-Scripte eingebunden

Offline

#16 20. Februar 2011 11:42

Klenkes
Server-Pate
Ort: 89428 Syrgenstein
Registriert: 17. Dezember 2010
Beiträge: 1.437

Re: Autolightbox

Jetzt bin ich auch total verwirrt.

Tatsache ist: Der UDT funktioniert, da die HTML-Ausgabe stimmt.

Firefox sagt jetzt: .....lightbox is not a function...usw...

Meine Einbindung im Head sieht so aus:

<script src="http://cdn.jquerytools.org/1.2.3/full/jquery.tools.min.js" type="text/javascript"></script>
<script type="text/javascript" src="js/jquery.lightbox-0.5.js"></script>

Ich benutze die JqueryTools von Flowplayer.org, aber egal.

Und in der Template:

<script type="text/javascript">
$(function() {
$('a.lightbox').lightBox();
});
</script>

Hast du es schon mal meiner vereinfachten Funktion probiert?

(Ahh... verdammt, ich muss weg.)

Offline

#17 20. Februar 2011 11:47

Connie
Server-Pate
Ort: Gribow
Registriert: 12. Dezember 2010
Beiträge: 216
Webseite

Re: Autolightbox

ich versuchs nochmal!

Und lass dich nicht hetzen, ich hab noch ne ganze Menge anderer Dinge zu erledigen, es eilt nicht, aber ich bau alles nochmal neu auf

Gruss, Connie (und Danke für deine Mühe)

Offline

#18 20. Februar 2011 11:57

Connie
Server-Pate
Ort: Gribow
Registriert: 12. Dezember 2010
Beiträge: 216
Webseite

Re: Autolightbox

und jetzt tut es. Ich hab alles in ein Verzeichnis /js gesteckt, das Flowplayer-Jquery eingebunden (wirft aber eine Warnung bei einem Link aus in der Fehlerkonsole), deine Funktion eingebunden und es funktioniert.

Nun werde ich davon ausgehen und Schritt für Schritt das JQuery wieder zurückleiten auf meine Seite oder auf Google-API-Seite, mal sehen was tut

Merci!

Edit #1:
Resultat:

es funktioniert nur, wenn die Scripte in direktem Unterverzeichnis der Root eingebunden sind.
also die .js im Verzeichnis /js
die Bilder im Verzeichnis /images

das gefällt mir gar nicht, aber es funktioniert.
Die Images können ruhig im /images-Verzeichnis stehen, jetzt schau ich ob ich die Scripte wenigstens ins /lib bugsieren kann

Edit #2:
ich hab alles in ein eigenes Unterverzeichnis /lib/tinymce_lightbox stellen können
die Bilder habe ich in ein Verzeichnis /lib/tinymce_lightbox/images stellen können
damit das ging, musste ich allerdings im jquery.lightbox-0.5.js die Pfade zu den Images ändern
(das macht aber nichts, ich will sowieso die Vorgaben für die Lightbox ändern)
die CSS-Befehle  habe ich in mein Haupt-Template-CSS eingebunden

wie das alles geht, werde ich jetzt Schritt für Schritt in meinen CMSMS-Tips  beim Klugen Mädchen beschreiben, natürlich mit den nötigen Referenzen!

Beitrag geändert von Connie (20. Februar 2011 14:30)

Offline

#19 20. Februar 2011 18:48

Connie
Server-Pate
Ort: Gribow
Registriert: 12. Dezember 2010
Beiträge: 216
Webseite

Re: Autolightbox

jetzt hab ich aber ein Problem:

wenn ich das JQuery vom Lightbox-Plugin im Header lade, kollidiert es mit den Anforderungen von Showtime z.B., das ist echt bescheuert..

Showtime mit JQUery 1.4.2 funktioniert, aber das Lightbox nicht
muss also doch mit 2 verschiedenen Templates arbeiten...

Gruss aus 50%-Hamburg!

Beitrag geändert von Connie (20. Februar 2011 19:04)

Offline

#20 21. Februar 2011 10:38

nicmare
Server-Pate
Registriert: 15. Dezember 2010
Beiträge: 1.314
Webseite

Re: Autolightbox

du darfst jquery nur einmal einbinden sonst gibts probleme

Offline

#21 21. Februar 2011 10:39

nicmare
Server-Pate
Registriert: 15. Dezember 2010
Beiträge: 1.314
Webseite

Re: Autolightbox

und bei deinem link:http://www.flutluke.de/uwe_schloen/bilder-mit-lightbox-einbinden.html
stimmt die verknüpfung zu jquery nicht. die datei wurde nicht gefunden

Offline

#22 21. Februar 2011 10:56

Connie
Server-Pate
Ort: Gribow
Registriert: 12. Dezember 2010
Beiträge: 216
Webseite

Re: Autolightbox

Hallo nicmare,

ach, ich war doch gestern zu bruzzelig nach dem ganzen Versuchen und habs nicht mehr geblickt... gottseidank hatte ich schon vorher gewählt ;=)

Der Pfad war falsch, das war es!

Jetzt hab ich probiert, die Lightbox geht! Und Showtime Slideshow auch

Danke, Connie

Offline

#23 21. Februar 2011 10:58

nicmare
Server-Pate
Registriert: 15. Dezember 2010
Beiträge: 1.314
Webseite

Re: Autolightbox

so und wie funzt nun der ablauf für den "dummen" redakteur? wie kriegt der das vorschaubild mit lightbox rein?

Offline

#24 21. Februar 2011 12:12

Connie
Server-Pate
Ort: Gribow
Registriert: 12. Dezember 2010
Beiträge: 216
Webseite

Re: Autolightbox

Du hast recht, den Schritt hatte ich in meiner Anleitung noch nicht.

Offline

#25 24. Februar 2011 17:18

Geraldo
Server-Pate
Registriert: 13. Dezember 2010
Beiträge: 5

Re: Autolightbox

Danke an alle Beteiligten für ein Lösung, die ich schon lange gesucht habe. Funktioniert  Super!

[url=http://www.cmsmadesimple.de/forum/viewtopic.php?pid=2244#p2244]

Klappt allerdings nur in Contentpages.[/url]

wie Klenkes zurecht anmerkte.

Aber wir bräuchten Autolightbox noch viel mehr für die News-Redakteure.
Also habe ich versucht  die Paramenter fuer NewsArticleEdit aufzubohren: also eine UDT wie folgt

[== php ==]
function replaceContentImageWithThumbs($news_id, $category_id, $title, $content, $summary, $status, $start_time, $end_time, $useexp, $thumb_prefix){
$txt = $content; 
....
Orginaler UDT
...
 $content = $txt;
 return $txt ;
}

Der generierte Link ist m.E. korrekt:

<a target="_blank" title="Besuch Jolanda" class="lightbox" href="uploads/images/Besuch Iolanda/DSC_0036a.jpg"><img title="Besuch Jolanda" src="uploads/images/Besuch Iolanda/thumb_281_186_DSC_0036a.jpg" alt="" width="281" height="186" /></a>

allerdings wird der nur im content_en angezeigt, was wohl im Array mPropertyValues liegt.

{get_template_vars}:

mPropertyValues => Array ( target => image => -1 thumbnail => -1 extra1 => extra2 => extra3 => searchable => 0 pagedata => disable_wysiwyg => 0 Sidebar => content_en => "INHALTE")

Der Hilfetext zum Ereignis NewsArticleEdit sagt "Ausführen, wenn ein Artikel bearbeitet wurde".

Wahrscheinlich muesste der Newsartikel updated werden, was leider meine Kenntnisse übersteigt.

$query = "UPDATE cms_module_news SET cms_news_data = $txt WHERE cms_news_id = $news_id";
mysql_query($query) or die(mysql_error().': '.htmlentities($query)); 

zeigt weder Ergebnisse in der DB noch - wo auch immer? - einen Fehler.

Bin für jeden Hinweis dankbar
Geraldo

Beitrag geändert von Geraldo (24. Februar 2011 19:39)

Offline