Zum Inhalt springen

chgalleryttnews und lightbx

Erstellt am 16. März 2009 · 7 Antworten · letzte Antwort am 20. März 2009

Tags: Bilder, tt_news, Frage

Michaelh74 ·

Hallo zusammen,
hallo just2b ;-)

ich versuche gerade die Extension chgalleryttnews in der aktuellen Version sowie chgallery ebenfalls in der aktuellen Version 2.5 in Verbindung mit der pmkslimbox zum Laufen zu bringen.

Als reine Galerie mit chgallery klappt das wunderbar.

Die Variante für tt_news zeigt bei mir die Bilder durch Klicken auf das Thumbnail leider nicht in der Lightbox, sondern stump in einem neues Fenster.

Mein TS extra für chgalleryttnews sieht wie folgt aus:

plugin.tt_news.chgallery < plugin.tx_chgallery_pi1
plugin.tt_news.chgallery.templateFile = fileadmin/templates/gallery_tmpl.html

Gibt es denn eine Option per TS die Lightbox dafür zu aktivieren?
So in der Art wie z.B.:

plugin.tt_news.chgallery.lightbox = 1

Viele dank schon mal für Eure Hilfe!
Viele Grüße
Michael

just2b ·

Hallo,

ein lightbox=1 gibts nicht, ist auch IMO ein Blödsinn weil ich niemanden so einschränken will. Haben die Bilder denn einen rel-Tag bzw sind die js files eingebunden?

georg

Michaelh74 ·

Hallo Georg,

naja zumindest im Flexform der chgallery gibt es ja genau diese Option, deshalb kam ich überhaupt auf diese Idee...

Die rel-Tags werden richtig generiert, aber die JS Einbindung fehlt komplett. Also der Bereich hier:

<script type="text/javascript" src="typo3conf/ext/pmkslimbox/res/scripts/mootools-1.2.1.js"></script>
<script type="text/javascript" src="typo3conf/ext/pmkslimbox/res/scripts/slimbox.js"></script>
<script type="text/javascript">
/*<![CDATA[*/
<!--
Slimbox.scanPage = function() {var links = $$("a").filter(function(el) {return el.rel && el.rel.test(/^lightbox/i);});$$(links).slimbox({resizeDuration: 400, resizeTransition: Fx.Transitions.Sine.easeInOut, opacity: 0.8, opacityDuration: 500, loop: 1, initialWidth: 250, initialHeight: 250, animateCaption: 1, showCounter: 1,counterText: 'Seite  {x} von {y}', psScriptPath: 'typo3conf/ext/pmkslimbox/savefile.php'}, null, function(el) {return (this == el) || ((this.rel.length > 8-) && (this.rel == el.rel));});};window.addEvent("domready", Slimbox.scanPage);
// -->
/*]]>*/
</script>

Hatte auch schon testweise erfolglos versucht diesen Part per headerData einzubinden. War zwar dann im header aber greift trotzdem nicht :-(

Vielen lieben Dank für Deine Hilfe!
Gruß
Michael

just2b ·

Hallo,

ich find das ja lustig, wie kommst du drauf dass meine extension schuld dran ist wenn die files von pmkslimbox stammen?

binde die files auf der seite manuell ein oder verwende t3mootools, denn meine extension bindet überhaupt keine js bzgl lightbox ein, warum auch, dafür gibts die lightbox extensions

georg

Michaelh74 ·

Hallo Georg,

dann war das wohl ein Denkfehler. Aber die pmkslimbox bindet doch nicht automatisch die JS auf allen Seiten ein. Deshalb die Annahme der Impulse könnte von Deiner Extension kommen.

Die manuelle Einbindung per headerData hatte ich ja schon einmal erfolglos getestet. Werde es jetzt mal über t3mootools testen. So hast Du es ja auch auf Deiner Demo-Seite zur Extension gemacht, wenn ich den Quellcode richtig deute.

Vielen Dank noch mal für Deine Hilfe!
Michael

just2b ·

das header-data wär sicher richtig, aber da ich den code nicht kenne, kann ich kaum was dazu sagen.

meine ext kommuniziert gar nicht mit anderen exts abgesehen von ratings

georg

Michaelh74 ·

Ok, jetzt läufts 🙂

Das Problem lag an dem fehlenden CSS der pmkslimbox.

Für alle die es noch interessiert, hier kurz meine Vorgehensweise:

chgallery wie gewohnt installieren.
Dann wie in der Anleitung von chgallery beschrieben das TS für die Lightbox-Verwendung setzen.
Damit dies auch in der tt_news variante klappt folgendes TS einfügen (steht auch in der Doku):

plugin.tt_news.chgallery < plugin.tx_chgallery_pi1
plugin.tt_news.chgallery.templateFile = fileadmin/templates/gallery_tmpl.html

Jetzt fehlt nur noch die Einbindung des Lightbox relevanten JS und CSS.
Dazu habe ich auf der Seite der News Single-View per TS mit headerData folgenden Code eingefügt:

<link rel="stylesheet" href="typo3conf/ext/pmkslimbox/res/styles/slimbox.css" type="text/css" media="screen" />
<script type="text/javascript" src="typo3conf/ext/pmkslimbox/res/scripts/mootools-1.2.1.js"></script>
<script type="text/javascript" src="typo3conf/ext/pmkslimbox/res/scripts/slimbox.js"></script>
<script type="text/javascript">
/*<![CDATA[*/
<!--
Slimbox.scanPage = function() {var links = $$("a").filter(function(el) {return el.rel && el.rel.test(/^lightbox/i);});$$(links).slimbox({resizeDuration: 400, resizeTransition: Fx.Transitions.Sine.easeInOut, opacity: 0.8, opacityDuration: 500, loop: 1, initialWidth: 250, initialHeight: 250, animateCaption: 1, showCounter: 1,counterText: 'Seite  {x} von {y}', psScriptPath: 'typo3conf/ext/pmkslimbox/savefile.php'}, null, function(el) {return (this == el) || ((this.rel.length ><img src="/fileadmin/smilies/icon_cool.gif" alt="icon_cool.gif" "/>&& (this.rel == el.rel));});};window.addEvent("domready", Slimbox.scanPage);
// -->
/*]]>*/
</script>

Viel Spaß damit!
Michael

PS.: Danke noch mal an Georg für die Aufklärung.