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

Es ist prinzipiell möglich, den RTE in Flexforms – und damit auch in FCEs – zu konfigurieren. Wie das geht, wird  im Wiki auf typo3.org beschrieben, oder in der API-Dokumentation (nach »defaultExtras« suchen). Mit diesem Eintrag in den defaultExtras wird der RTE z. B. beschränkt auf fett, kursiv und Links:

  1. <defaultExtras>richtext[bold|italic|link]:rte_transform[mode=css]</defaultExtras>

Oder vielmehr sollte ... es funktioniert nämlich nicht mehr. Es gibt einen Bug-Report dazu, dem auch ein Patch für die Core-Klasse class.t3lib_tceforms beiliegt. Nach dem Einspielen des Patch funktioniert es wieder. 

Kategorien: API/Tipps  Kommentare 0
Tags: rte, fce

Im RTE kann man horizontale Linien einfach mittels Blockstilen zur Verfügung stellen, die einem Absatz zugewiesen werden können. Diese Stile müssen allerdings vom Entwickler zur Verfügung gestellt werden. 

Dieser Absatz hat z. B. eine Linie oberhalb, die auf diese Art eingefügt wurde. 

Der RTE kann allerdings auch das HTML-Element <hr /> einsetzen, das unabhängig ist von den Blockelementen bzw. Absätzen.

Standardmäßig macht der RTE dabei leider einen Fehler: er packt die Linie in einen Absatz: <p><hr /></p>, was beim Validieren der Seite zu einem Fehler führt. Dieser Fehler stört allerdings die optische Darstellung nicht, wer also mit einem Validierungsfehler leben kann, muss nichts weiter unternehmen. 

Der Fehler kann eleminiert werden, wenn in das TypoScript-Template der Seite diese Zeilen eingefügt werden:

  1. lib.parseFunc_RTE.externalBlocks := addToList (hr)
  2. lib.parseFunc_RTE.externalBlocks.hr.stripNL = 1

Leider hat das aber andere negative Konsequenzen. Wenn ich z. B. hier so eine Linie einfüge:


werden die folgenden Absätze nicht mehr richtig geparst. So werden z. B. in meinen Code-Snippets der <pre>-Tag nicht mehr korrekt von  tx-vjrtecodesnippets erkannt und geparst: 

lib.parseFunc_RTE.externalBlocks := addToList (hr)
lib.parseFunc_RTE.externalBlocks.hr.stripNL = 1


Ausserdem werden offensichtlich Links nicht mehr geparst. Das ganze ist ein Problem, das offenbar seit 2007 im Bugtracker steht, aber bis heute nicht wirklich gelöst wurde (hier sollte eigentlich ein Link stehen, der aber nicht geparst wird. Er folgt im nächsten Absatz, den ich in ein neues Inhaltselement packe.) 

Fazit:

Ich empfehle die Verwendung von Blockstilen wie ganz oben beschrieben. Wenn man unbedingt <hr /> verwenden muss, so sollte der Workaround gründlich getestet werden. Wenn – wie bei mir hier – die Fehler nicht gefixt werden können, dann muss man wohl oder übel mit dem Syntaxfehler des RTE leben. Wie gesagt: die Darstellung ist ja korrekt, es gefällt nur den Validatoren nicht.

Und hier ist der Link in den Bugtracker nochmals ...

[Update]
Für den Bug gibt es seit kurzem einen Fix im Bugtracker von Stanislas Rolland, der das Problem behebt. (Vielen Dank an Stanislas!)

Also Patch einspielen, oder aufs nächste Update von TYPO3 warten, dann wirds wohl dabei sein. 

[Update 2]

In Version 4.4.6 funktioniert es jetzt. 

Kategorien: Tipps/Typoscript  Kommentare 0
Tags: rte

Habe gerade einen netten Trick bei maddesign.de gefunden (bzw. wurde von Twitter mit der Nase darauf gestoßen ;-)), wie man eine optionale Trennung in Menü-Einträgen erlauben kann. Es funktioniert über das Entity &shy; (optionale Trennung) – an sich nichts besonderes, aber bisher ziemlich unbekannt, weil es nicht von allen Browsern unterstützt wurde. Aber mittlerweile funktioniert es in allen wichtigen Browsern (Übersicht gibts bei quirksmode.org

Der Clou ist aber, für das Menü die beiden Felder »Seitentitel« und »Navigationstitel« umgekehrt zu verwenden. Üblicherweise wird der Seitentitel als Navigationseintrag und für die URL verwendet; dieser erlaubt aber im Gegensatz zum Navigationstitel weder HTML noch Entities. Im Navigationstitel kann man das Entity eintragen, allerdings kann man den Seitentitel nicht leer lassen, deshalb muss der Entwickler dafür sorgen, dass im Menü der Navigationstitel bevorzugt herangezogen wird. Also so: 

  1. NO.stdWrap.field=nav_title // title
  2.  

anstatt wie üblich in der anderen Reihenfolge. 

Eigentlich wäre es sinnvoll, das Entity auch im RTE anzubieten (in der Sonderzeichen-Palette), aber im Moment gibts das leider noch nicht. 

Weiterführende Links: 

Man kann den Like-Button von Facebook problemlos mit Typoscript auf jeder Seite einbinden. Zu beachten ist natürlich, dass immer die aktuelle Seite als Link übergeben werden muss. 

  1. lib.likebutton = COA
  2. lib.likebutton {
  3.   10 = TEXT
  4.   # aktuelle Seite
  5.   10.typolink.parameter.data = TSFE:id
  6.   # nur die URL
  7.   10.typolink.returnLast = url
  8.   # die BaseURL (muss definiert sein)
  9.   10.dataWrap = {TSFE:baseUrl}|
  10.   # URL.kodiert.
  11.     10.rawUrlEncode = 1
  12.   # und der eigentliche Inhalt
  13.   wrap = <iframe style="border:none; overflow:hidden; width:450px; height:80px;" frameborder="0" scrolling="no" src="http://www.facebook.com/plugins/like.php?href=|&layout=standard&show_faces=true&width=450&action=like&font=arial&colorscheme=light&height=80"></iframe>
  14. }

Weiterführende Links: 

Es ist möglich, beliebige Eingabefelder im Backend mit Werten vorzubelegen, um so den Redakteuren die Arbeit zu erleichtern. Seit Version 4.3 geht das nicht nur über das User-TSconfig sondern auch im page-TSconfig. Wobei letzteres nur manchmal Sinn macht. 

  1. TCAdefaults {
  2.      tt_news {
  3.          title = Ein vorgegebener Titel
  4.          author = AUTORENNAME
  5.          author_email = name@domain.de
  6.      }
  7.      pages {
  8.          hidden = 1
  9.          author = AUTORENNAME
  10.          author_email = name@domain.de
  11.      }
  12. }

Leider sind diese Optionen nicht stdWrap-fähig, so dass keine dynamischen Einträge erfolgen können (z. B. automatisch die User-Email aus dem Setup zu übernehmen). Armin Bartsch erläutert in seiner Webseite eine Möglichkeit, wie das mit Hilfe einer eingebundenen Methode doch möglich ist (habe ich allerdings nicht getestet). 

Ausserdem gibt es eine Extension, die automatisch für tt_news, pages und sys_notes Autor und E-Mail setzt: cron_setdefaultauthor

Weiterführende Links