Kategorien
- [-]Developer (104)
- API (15)
- Backend (17)
- Extensions (29)
- HTML & CSS (4)
- Typoscript (33)
- [-]Redaktionelles (21)
- Anleitungen (9)
- Tipps (8)
- [-]Sonstiges (50)
- SEO (8)
Schlagwortwolke
« | Juli 2013 | » | ||||
---|---|---|---|---|---|---|
S | M | T | W | T | F | S |
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Letzte Nachrichten
- DSGVO
- 26.05.2018 18:39
- Trackingtools und Datenschutzerklärung
- 14.03.2014 23:07
- 1:n und n:1 Relationen in Extbase
- 06.12.2013 12:04
- Erste Abmahnungen wegen Google Analytics
- 04.10.2013 12:11
Letzte Kommentare
- Das liegt daran, dass die captcha.php versucht, das halbe...
- 05.12.2017 00:41
- Hallo, danke für den tollen Beitrag. Kann man die...
- 22.10.2015 10:05
- Vielen Dank für den Austausch guter Artikel. Es ist eine...
- 17.08.2015 10:58
- Hallo Peter, danke für die Extension. Ich habe sie auf...
- 27.08.2014 12:51
In eigener Sache
Peter Linzenkirchner, Lisardo EDV Beratung in Augsburg. Freelance und Partner für Design- und Webagenturen in Augsburg und München. Pixelgenaue Templates, valides HTML, barrierearm. TYPO3-Projekte, Extension-Programmierung und mehr ...
In den neueren Versionen von TYPO3 kann man recht einfach beliebige Lightboxen einbauen, ohne dafür spezielle Extensions zu benötigen. Ich möchte möglichst wenig Extensions verwenden, um Inkompatabilitäten zu verringern, Updates zu erleichtern und vor allem um das Risiko von Sicherheitslücken zu vermindern. Wie man dazu prinzipiell vorgeht, möchte ich kurz am Beispiel der Slimbox zeigen.
(Kleiner Tipp: wie es TYPO3 4.x geht, steht in diesem älteren Artikel.)
Slimbox ist ein ganz nette Lightbox, die den großen Vorteil hat, sehr klein zu sein. Sie hat zwar wenig Features und ist nicht responsiv, aber zumindest das letztere ist nicht unbedingt ein Nachteil, weil auf einem Smartphone keine Lightbox gut funktioniert, auch keine responsive. Am Smartphone ist keine Lightbox immer noch die beste Lightbox.
Nun, hier gehts auch nur ums Prinzip, man kann das mit beliebigen anderen Lightboxen auch umsetzen.
Schritt 1: Lightbox korrekt einbinden
Praktisch alle Lightbox-Scripts sind so aufgebaut, dass man im Head zuerst jQuery laden muss, danach das Lightbox-Script sowie ein kleines JavaScript-Snippet als Autoloader oder Trigger. Ausserdem muss man natürlich das CSS einbinden. Also im Typoscript-Setup der Installation etwa so:
- page.includeJSlibs {
- # zuerst das aktuelle jQuery laden
- 10 = fileadmin/js/jquery.min.js
- 10 {
- forceOnTop = 1
- }
- # danach slimbox
- 20 = fileadmin/js/slimbox2.js
- # und mein eigenes JavaScript
- 30 = fileadmin/js/main.js
- }
Dabei natürlich die Pfade angeben, in denen die Dateien auch liegen. Und das CSS:
- page.includeCSS {
- 10 = fileadmin/css/slimbox2.css
- 10.media = screen
- }
Jetzt fehlt noch der Trigger bzw. Autoloader. Für die Slimbox kann der zum Beispiel so aussehen:
- if (!/android|iphone|ipod|series60|symbian|windows ce|blackberry/i.test(navigator.userAgent)) {
- jQuery(function($) {
- $("a[rel^='lightbox']").slimbox({
- // hier können weitere Optionen eingefügt werden
- counterText: "Bild {x} von {y}"
- }, null, function(el) {
- return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel))
- });
- });
- }
Das "counterText" ist nicht unbedingt nötig, aber man kann damit den Text übersetzen. Im Original ist der Hinweistext sonst englisch.
Schritt 2: Konstanten in TYPO3 einstellen:
Im Backend von TYPO3 das Root-Template aufrufen und im Konstanten-Editor folgendes einstellen:
- Lightbox click-enlarge rendering aktivieren
- Lightbox CSS class ausleeren (brauchen wir in dem Fall nicht)
- Lightbox rel="" attribute so füllen: lightbox[{field:uid}]
- Einstellungen in den Constants
Diese Zeile:
- lightbox[{field:uid}]
entspricht im Autoloader von Slimbox diesem Ausdruck:
- $("a[rel^='lightbox']")
Alle Links, die einen Link dieser Art erhalten:
- <a href="bildgros.jpg" rel="lightbox[32]">bildklein</a>
lösen automatisch die Lightbox aus.
Jetzt muss nur noch in den Inhaltselementen mit Bildern die Option »Klick vergrößern« aktiviert werden. Wenn man in einem Inhaltselement mehrere Bilder lädt, erscheinen diese automatisch als Galerie in der Lightbox.
- Ansicht in den Inhaltselementen
Schritt 3: Aktivieren im RTE
Der RTE muss natürlich so konfiguriert sein, dass Bilder angezeigt werden. Das passiert im Erweiterungsmanager in der Extension rtehtmlarea selbst. Dort gibt es die Option »Enable images in the RTE«, die aktiviert sein muss. Danach kann der RTE in TYPO3 Version 6.x automatisch korrekt mit Bildern umgehen. Damit man Bilder im RTE auch in der Lightbox öffnen kann, ist noch ein zweiter Schritt nötig: man muss im Hauptemplate im Setup der Site unter "Vollständigen Template-Datensatz bearbeiten" das Static Template des RTE »Clickenlarge Rendering (rtehatmlarea)« einbinden.
- Einstellungen im Erweiterungsmanager
- Einstellungen im Setup
Schritt 4: Bild im RTE mit Lightbox versehen
Wenn man ein Bild in den RTE geladen hat, kann man es mit der Maus markieren und mit der rechten Maustaste die Option »Bild verändern« wählen. Es erscheint ein Popup-Fenster, in dem man das »Klick Vergrößern« aktivieren kann. Das wars.
- Kommentare