Schnellnavigation:

Kategorien

« März 2024»
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

Kopieren Sie diesen Link in Ihren RSS-Reader

RSS 0.91Nachrichten
RSS 2.0Nachrichten

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 ... 

Zur Zeit wird gefiltert nach: Developer
Filter zurücksetzen

Ich habe gestern das Heise-Skript »socialshareprivacy« (siehe mehr dazu in meinem Artikel bzw. auf der Originalseite von Heise) in eine TYPO3-Extension eingebaut und ins TER hochgeladen (Downloadlink). Sie heißt einfach socialshareprivacy. Sie ist so aufgebaut, dass

  • bei Neuerungen im Heise-Skript das Skript einfach in der Extension ausgetauscht werden kann
  • notfalls auch über Typoscript eine externe Variante eingebunden werden kann
  • das verwendete jQuery entweder automatisch durch die Extension eingebunden wird (default) oder ein bereits vorhandenes verwendet wird (Konfiguration im Extension Manager). 
  • praktisch alle Konfigurationsmöglichkeiten des Originalskripts über Typoscript möglich sind. 

Zu beachten ist, dass das Skript von Heise nur eine Instanz pro Seite erlaubt, die Extension kann also nur einmal pro Seite eingebunden werden. 

Installation: 

Die Installation ist simpel: einfach im Extension Manager runterladen, installieren und danach zwei Einstellungen tätigen: die Facebook APP-ID eintragen und anklicken, ob jQuery aus der Extension geladen werden soll oder nicht. 

Facebook APP-Id: 

Eine Anleitung wie man an diese ID kommt ist hier zu finden: Hinweis zur Facebook App-ID

Einbinden in eine einzelne Seite: 

Das Plugin wird in die Seite eingebunden wie alle anderen Plugins: einfach als Inhaltselement. Es gibt nichts zu konfigurieren, einbinden reicht. 

Einbinden ins Template: 

Das geht am besten über Typoscript: 

Im klassischen Template-Stil: 

MARKER < plugin.tx_socialshareprivacy_pi1

oder über TemplaVoila: 

lib.myplaceholder < plugin.tx_socialshareprivacy_pi1

Typoscript-Konfiguration: 

In der Extension-Dokumentation ist keine genaue Beschreibung aller Optionen, aber man kann sich einfach die ext_typoscript_setup.txt vornehmen, dort sind alle Optionen mit Beispielinhalten drin. Eine genaue Beschreibung der einzelnen Optionen ist auch auf der Heise-Seite zu finden. Man kann sie sogar von dort entnehmen und nach folgenden Regeln in sein Setup schreiben: 

1. Allgemeine Optionen: 

plugin.tx_socialshareprivacy_pi1.info_link = 

etc. 

2. Facebook-Optionen: 

plugin.tx_socialshareprivacy_pi1.services.facebook.status = on

etc. 

3. Twitter und Google+: 

plugin.tx_socialshareprivacy_pi1.services.twitter.___

plugin.tx_socialshareprivacy_pi1.services.gplus.___

etc. 

Textausgaben

Ich habe die Textausgaben für die Popups nicht ins Typoscript verlegt sondern in eigene Language-Dateien, um eine einfache Mehrsprachigkeit zu ermöglichen (auch wenn das in dem Fall schlicht Quatsch ist ... sehr deutsch, diese Angelegenheit). So können die Texte aber auch einfach über Typoscript geändert werden:

plugin.tx_socialshareprivacy_pi1._LOCAL_LANG.de.txt_help = 

etc. 

Fehler und Verbesserungsvorschläge: 

Bitte nicht einfach behalten sondern an mich senden, entweder per E-Mail oder über das Kontatkformular

Update

Die Extension ist ab Montag, 24.12.2012 in Version 1.2.1 im TER und jetzt kompatibel zu TYPO3 4.5 bis 4.7 und 6.0. 

fUm die Vorschau von Bildern in einer eigenen Extension in einer der zahlreichen Lightboxen zu präsentieren sind ein paar Schritte nötig. Zuerst das Typoscript: 

  1. plugin.tx_myext_pi1 {
  2.   preview {
  3.    file.maxW=170
  4.    imageLinkWrap = 1
  5.    imageLinkWrap {
  6.     enable = 1
  7.     typolink {
  8.      ATagParams = class="lightbox" 
  9.      parameter.cObject = IMG_RESOURCE
  10.      parameter.cObject.file.import.data = TSFE:lastImageInfo|origFile
  11.      parameter.cObject.file.maxW = 700
  12.      parameter.cObject.file.maxH = 700
  13.     }
  14.    }
  15.   }
  16.  }

Dabei sorgt file.maxW für die Breite des Vorschaubildes und parameter.cObject.file.maxW für die Breite des Bildes in der Lightbox. Der Eintrag bei ATagParams variiert nach verwendeter Lightbox. Ich verwende hier die Colorbox, die eine Klasse mit dem Namen "lightbox" wünscht. 

Im PHP der Extension muss dieses Typoscript passend verwendet und ergänzt werden: 

  1. // $url = Pfad zur Bilddatei - aus der DB
  2. // $title = Titel / Kurzbeschreibung des Bildes, aus DB;
  3. $lConf = $this->conf['preview.'];
  4. $lConf['file'] = $url;
  5. $lConf['imageLinkWrap.']['typolink.']['title'] = $title;
  6. // Zuweisen zum Marker:
  7. $marker['###IMAGE###'] = $this->cObj->IMAGE($lConf);
  8. // etc.
  9.  

Kein großer Aufwand mehr im PHP ... Man übernimmt sinnvollerweise zuerst die Konfiguration in eine Variable ($lConf) und erweitert dann diese Konfiguration mit $lConf['file'] um den Pfad auf das Bild (in der Regel wohl aus der DB ausgelesen). Der Rest ist optional – wobei der title natürlich noch sinnvoll ist, da er in der Lightbox gezeigt wird. 

Damit ist sichergestellt, dass sowohl die direkt gezeigten Vorschaubilder wie auch die größeren Bilder in der Lightbox eine vorgegebene Maximalgröße bekommen. Weitere Attribute können natürlich nach Belieben entweder im Typoscript oder im PHP hinzugefügt werden. 

 

tt_news verwendet die Typoscript-Funktion filelink für die Ausgabe der Dateien, die mit einem News-Artikel verbunden werden. An sich ist das ziemlich leistungsfähig und auch gut zu konfigurieren. Kleines Beispiel: 

  1. plugin.tt_news.newsFiles {
  2.   icon = 1
  3.   icon.wrap = <span class="news-file-icon"> | </span>
  4.   size = 1
  5.   size.wrap = <span class="news-file-size"> | </span>
  6.   target = _blank
  7.   file.wrap = <span class="news-file-file"> | </span>
  8. }

Die verschiedenen Optionen sind im TSref zu finden. 

Leider fehlt eine entscheidende Möglichkeit, nämlich eigene Icons für die Dateien zu verwenden. In filelinks ist der Ordner, aus dem die Icons geladen werden, nämlich hart im PHP kodiert. Und zwar einschließlich der Pixelgröße der verwendeten Icons. 

ich habe viele Fragen dazu im Netz gefunden und auch ein paar Lösungsvorschläge, die aber alle nicht funktionieren - Kunststück, wenn der Ordner wirklich hart im PHP des Core drinsteht. Eine Möglichkeit gibt es aber doch: 

  1. plugin.tt_news.newsFiles {
  2.   stdWrap.substring = 78
  3.   stdWrap.innerWrap =<span class="news-file-icon"><img src="fileadmin/download-icons/ | "
  4.   stdWrap.HTMLparser = 1
  5.   stdWrap.HTMLparser.allowTags = a,img,span
  6.   stdWrap.HTMLparser.tags.img.fixAttrib.width.set = 32
  7.   stdWrap.HTMLparser.tags.img.fixAttrib.height.set = 32
  8. }

Das ist dreckig, funktioniert aber ... Habe ich hier gefunden: Changing appearance of tt_news file list icons (ganz unten). Die Zahl (78) muss angepasst werden an den wrap für das icon ... 

 

Kategorien: Typoscript  Kommentare 1

Man kann Youtube-Videos in TYPO3 sehr bequem über das Inhaltselement »Medien« einbetten. Leider bettet das die Videos ausschließlich als Flash-Videos ein, was dazu führt, dass auf iPad oder iPhone nur der alternative Text zu sehen ist. Youtube bietet allerdings eine neue Möglichkeit, ein Video über ein iFrame einzubetten, die automatisch zwischen Flash-Video und HTML5-Video unterscheiden kann, je nachdem, was Browser und Plattform eben können. Das funktioniert z. B. so: 

  1. <iframe class="youtube-player" type="text/html" width="600" height="342" src="http://www.youtube.com/embed/IOtXGmWWxAs" frameborder="0"><iframe>

Man muss allerdings den Code selbst zusammenstellen, noch kann man ihn offensichtlich nicht automatisch von Youtube holen. Die URL beginnt mit 

  1. http://youtube/embed/VIDEO_ID

und Breite und Höhe müssen angepasst werden. Das sollte allerdings nicht allzu schwierig sein. Danach einfach den Code in ein HTML-Inhaltselement in TYPO3 einbauen. 

Genauere Erläuterungen sind hier zu finden. Zum Ausprobieren zum Beispiel eine  kleine Landingpage, die ich für das BRK gemacht habe: Hausnotruf in Schwaben. Funktioniert auch auf dem iPhone wunderbar. 

Martin Sauter hat eine neue Fassung seiner »TYPO3 Security Checklist« online gestellt (Version 0.9.3). Auf 24 Seiten listet er viele Tipps auf, wie eine TYPO3-Installation gegen Angriffe abgesichert werden kann. Nicht alles halte ich für praktikabel, die meisten Tipps und Hinweise sind allerdings unbedingt zu beherzigen. Trotz des englischen Titels ist das PDF übrigens in Deutsch abgefasst. 

Hier gehts zu seiner Download-Seite mit dem PDF und das hier ist der direkte Download-Link (700 KB). 

Kategorien: Developer  Kommentare 0
Tags: security