Hallo Community,
ich bin gerade dabei, eine neue Internetseite mit Typo3 4.5.5 und Template Voila 1.5.5 zu erstellen.
Es klappt alles wunderbar. Habe ein Newssystem sowie Mehrsprachigkeit eingebaut. Allerdings habe ich imense Probleme eine Gallery zum laufen zu bringen.
Als erstes jabe ich es mit Perfext Lightbox 3.1.4 Probiert. Sah nicht schlecht aus (war im Backend zu sehen, Code im Frontent war auch vorhanden) aber es funktionierte nicht. Habe natürlich mein Statisches Template angepasst und etliche Foren durchstöbert. Ohne Erfolg.
Also habe ich SmoothGallery for Typo3 (rgsmoothgallery) 1.5.1 installiert. Diese Externsion habe ich gleich gar nicht im Backend gesehen.
Habe anschließend noch pmkshadowbox und jq_lightbox2 probiert. Alles ohne Erfolg. Installiert habe ich es richtig und habe auch bei jeder Extension passenden Code im Frontend gesehen.
Gibt es bekannte Probleme mit JS Frameworks in der Typo3 Version 4.5.5?
Habe alle Erweiterungen in früheren Typo3 Versionen auf verschiedenen Webseiten am laufen.
Habt Ihr evtl. Tipps für mich, um mein Problem zu lösen?
Gruß
Die Kompressionseinstellungen im Install-Tool hast Du schon überprüft? Wie, wenn überhaupt, stehen die Javascript-Dateien im Quellcode, den das 4.5.5 ausgibt?
Grüße. Ines
Danke für deine Antowrt icy,
ich weiß leider nicht, wie ich die Kompressionseinstellungen überprüfe. Also ins Install-Tool kommt ich natürlich, weiter weiß ich allerdings nicht.
Wenn ich die PerfextLightbox aktiviere, dann wird im Header folgendes an JS eingebettet:
<script type="text/javascript">
/*<![CDATA[*/
<!--
function openPic(url,winName,winParams) { //
var theWindow = window.open(url,winName,winParams);
if (theWindow) {theWindow.focus();}
}
// -->
/*]]>*/
</script>
Auf dieser Seite zu sehen.
mipa_acc schrieb
Wenn ich die PerfextLightbox aktiviere, dann wird im Header folgendes an JS eingebettet:
<script type="text/javascript">
/*<![CDATA[*/
<!--
function openPic(url,winName,winParams) { //
var theWindow = window.open(url,winName,winParams);
if (theWindow) {theWindow.focus();}
}
// -->
/*]]>*/
</script>
Hallo,
dieses Javascript ist nicht von der Lightbox, sondern sorgt eig. dafür, dass das Bild in einem neuen Popup-Fenster geöffnet wird. (denke ich)
Bei dir werden keinerlei Javascript-Frameworks eingebunden, irgendwo im Quellcode muss was von jQuery bzw. Mootools stehen, damits funktioniert...
Du schreibst zwar, du hast die statischen Templates angepasst, aber hast du nicht evtl. vergessen, die statischen Extensions auch in dein Template einzubinden?
(Template -> Info/Modify -> Include -> Include static)
Ansonsten könntest du es noch mit der Extension t3jquery versuchen und dir dein passendes jQuery automatisch über "CDN" auf jeder Seite einbinden zu lassen. Aber das dürfte nicht dein Problem sein, der Fehler passiert bei dir bereits wo anders.
Grüße Patrick
Hallo,
ich hab´s nun gelöst.
Es ist wichtig, dass man im Typoscript seine Seite als "page" bezeichnet und nicht anders.
Sprich
Falsch:
seite = Page
seite.10 = ....
richtig:
page = Page
page.10 ...
Dann klappts auch mit Perfect Lightbox 🙂
Gruß
Habe dasselbe Problem, mein Page Objekt heisst aber page. Daran kann es nicht liegen.
Leider werden die Javascripts aber trotzdem nicht eingebunden.
TYPO3 4.5.6
perfectlightbox 3.1.4
Statisches Template von Perfect Lightbox ist eingebunden, trotzdem wird das Bild entweder im neuen Fenster geöffnet, wenn nur Enlarge on Click = Enabled oder im selben Fenster, wenn Lightbox ImageSets Präsentationsmodus oder Slideshow oder eine Kombination angeklickt ist.
Im Header erscheint kein JavaScript. Andere wie Google und Flash Scripte erscheinen aber.
Die jQuery Library möchte ich lieber nicht installieren, da diese veraltet schient und ich Probleme mit tt_products und anderen Extensions befürchte. Was kann ich machen?
Danke für die Hilfe!
danaron schrieb
Die jQuery Library möchte ich lieber nicht installieren, da diese veraltet schient und ich Probleme mit tt_products und anderen Extensions befürchte.
Hallo danaron,
wer sagt denn sowas???
t3jquery macht nichts anderes, als jQuery einzubinden. Welche Version genau kannst du selbst bestimmen...
Wenn tt_products (welches älter ist als t3jquery 😉) Probleme mit t3jquery hätte, könntest du in tt_products auch das Einbinden von jQuery unterbinden, so dass du nur noch das jQuery von t3jquery eingebunden hast...
Grüße Patrick
Hi Patrick
Habe die extension jquery mal als Versuch installiert, leider bringt dies aber nicht das erhoffte Funktionieren der Extension perfectlightbox. Wenn ich das richtig sehe, sollte dies ja eigentlich auch ohne die Zusatzextension laufen.
Vieleicht ist das Problen auch, dass ich noch die Extension xajax am laufen habe.
Für Tipps bin ich sehr froh, Danke!
danaron: hast Du mal einen Link zu einer Frontendausgabe?
Was sieht Du eigentlich, wenn Du Dir ein Bildelement im Backend öffnest? Die perfectlightbox wird pro Bild eingeschaltet, indem man click-enlarge aktiviert, da müssten aber noch ein paar mehr Checkboxen sein. Siehst Du die?
Grüße, Ines
Hallo danaron,
danaron schrieb
Habe die extension jquery mal als Versuch installiert, ...
Du benutzt die falsche Extension.
"jquery" ist wirklich veraltet (von 2008 ), du solltest stattdessen "t3jquery" benutzen, das ist die aktuelle, die man wärmstens empfehlen kann.
Hier hast du noch nen Link: t3jquery im TER
Grüße Patrick
Danke für die Hilfe.
Habe es nun mit t3jquery 2.0.1 versucht, hat aber auch nicht gefruchtet. Muss irgendwo ein Konflikt mit einer anderen einstellung sein ;-(
Was empfiehlst du als Variable bei:
File prefix [jqLibFilename]
Defines the prefix of the generated library (jquery-###VERSION###.js)
Hab da mal "jquery-1.6.js" eingetragen. Das Manual bringt mich da leider auch nicht weiter.
Hast du eine Beispielconfiguration? Sollte nach der Installation die beiden Extensions t3jquery und prefectlightbox automatisch miteiander funktionieren oder braucht es hier Einstellungen?
PS: Die Beispiele sehen übrigens sehr gut aus, Danke für den Tipp
danaron schrieb
Hast du eine Beispielconfiguration? Sollte nach der Installation die beiden Extensions t3jquery und prefectlightbox automatisch miteiander funktionieren oder braucht es hier Einstellungen?
Im Grunde brauchst du nicht viel machen, außer t3jquery zu installieren.
Dann gehst du in die Extension-Configuration und wählst "Always include ...", damit jQuery auch auf jeder Seite eingebunden wird.
Danach wählst du aus, ob jQuery-Core, jQuery-UI und jQuery-Tools eingebunden werden sollen und in welcher Version (am besten immer die aktuellste).
Und dann würde ich dir empfehlen, jQuery über einen CDN einzubinden, das kannst du in der Extension-Configuration ganz unten auswählen. Dann wird dir automatisch die benötigte Version von Google runtergeladen.
Evtl. musst du in der Konfiguration von perfectlightbox noch sagen, dass diese Extension KEIN jQuery mehr einbinden darf.
Ansonsten wäre es wirklich praktisch, wenn du uns einen Link geben könntest, wo man sich dein bisheriges Ergebnis mal anschauen könnte...
Grüße Patrick
Hi Patrick
ja, habe ich so gemacht, jetzt steht am Ende des bodys:
<script src="http://cdn.jquerytools.org/1.2.5/jquery.tools.min.js" type="text/javascript"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js" type="text/javascript"></script>
Scripts werden also eingebunden.
Leider läuft die perfectlightbox immer noch nicht.
Link: www.sbbhistoric.ch ist die Seite, hilft aber wohl kaum.
Ok, jQuery UI und jQuery Tools sind da, aber jQuery-Core fehlt noch, müsste 1.6.irgendwas sein. Das ist das Haupt-jQuery und muss unbedingt da sein.
Hast du das evtl. im Extension-Manager vergessen mitzunehmen oder einfach nur im Quelltext übersehen?
Und du sagst, dass das JS im Footer ist. Prüf mal, ob evtl. das Javascript von der perfectlightbox im Header ist.
Dann würde deine Seite erst versuchen, die Lightbox zu generieren, und (da jQuery erst im Footer kommt) hier den Fehler melden, dass jQuery nicht definiert wurde...
Dann musst du schauen, dass alles in den Footer wandert und ERST jQuery geladen wird, danach der Rest vom JS.
Grüße Patrick
Japp, nun klappt es. Der Fehler war im Haupttemplate:
Statische Templates NACH Basis-Template einschließen = Häcklein setzen
😉
Danke Patrick für die Hilfe!
Welche Version der Lighbox nutzt Du jetzt? jquery oder scriptacolus?
Bitte guck da nochmal nach, nicht dass Du mehrere JavaScript Bibliotheken nutzt, die sich im schlimmsten Fall dann noch irgendwie begkriegen...
Ansonsten gut dass es läuft.
grüße, Ines
Salut Ines
War alles etwas komplizierter.
Fazit: es braucht keine zusätzliche Extension wie t3jquery, hat nur daran gelegen, dass das statische Templates NACH Basis-Template einschließen = Häcklein gefehlt hat.
Als ich dies aber gesetzt habe, ist tt_products nicht mehr gelaufen. Aus diesem Grund habe ich dies damals auch rausgenommen ;-)
Lösung:
Extensions Template machen, dort, und nur dort das Häcklein "statische Templates NACH Basis-Template einschließen" setzen, dort das Statische Template einschliessen und das Extensiontemplate natürlich im Haupttemplate einschliessen.
Danach klappt die Extension perfectlightbox für alle Seiten, ausser für den Shop.
Wer es auch für den Shop zum laufen dringt, ist der König ;-)
@danaron:
Ich hab mir schnell deine Seite angeschaut. Du solltest noch folgendes TS (ich glaube bei den Constants) verwenden:
plugin.perfectlightbox {
libraryToUse = jquery
# wenn du immernoch t3jquery verwendest (ist zu empfehlen!), dann:
includeJSLibrarys = 0
}
Damit haust du Prototype aus deiner Seite raus und verwendest die Slimbox mit jQuery (ist schon bei perfectlightbox dabei), weil sonst jQuery + Prototype geladen werden, was 1. Konflikte geben kann und 2. viele KBs ergeben, die unnötig geladen werden müssen.
Außerdem kommt in deinem Shop immer folgende Javascript-Fehlermeldung: "$("#accordion" ) is null".
Grüße Patrick