Kategorie: TYPO3

0

lighttp, redirects und rewrites

Wenns mal wieder performant sein muss, ist oft der Griff zu lighty (http://www.lighttpd.net/) ein probates Mittel. Seine Performance-Vorteile gegenüber dem Apache2 aus der Dose (http://httpd.apache.org/) erreicht der lighttpd unter anderem dadurch, dass er sich das aufwendige Parsen von .htaccess-Files spart. Der Pferdefuß dabei ist allerdings, dass serverseitige rewrites und redirects nichtmehr einfach in ein File im betroffenen Verzeichnis gekippt werden können sondern direkt in die Config von lighttpd geschrieben werden. Gerade in Verbindung mit einer TYPO3-Umgebung kann der Einsatz von lighttpd als Webserver allerdings schnell zur Herausforderung werden. Seiten werden umbenannt, realurl generiert die Pfade neu und – hoppla, plötzlich...

1

TYPO3 – Suche erweitern

Wer des öfteren mal die Funktionalität von TYPO3 mit eigenen Extensions erweitert, wird des Öfteren auf das Problem stoßen, dass bei der Erweiterung von Tabellen oder beim anlegen von Extension-spezifischen Datenbanktabellen bei der hauseigenen Suche außen vor bleiben. Hier ist es sinnvoll, der Suche mitzuteilen, es möge doch bei der Suche auch zusätzliche Felder berücksichtigen. Dies lässt sich einfach und – im Gegensatz zu IF-Abfragen – einfach über TypoScript lösen. Um der Suche die neuen Datenbank-Tabellen und/oder Felder mitzuteilen, geht man folgendermaßen vor. Standard-Wert für „Überschriften und Schlagwörter“: tt_content.search.30.dataArray.20.valueArray.10.value = pages.title-subtitle-keywords-description Standard-Wert für „Seiteninhalt“: tt_content.search.30.dataArray.20.valueArray.20.value = pages.title-subtitle-keywords-description : tt_content.header-bodytext-imagecaption Zur...

7

Caching kurzlebiger Inhalte (z.B. News)

Ein typischer Fall, in dem Kunden und Entwickler das Caching von TYPO3 bisher verfluchten, war die Nutzung eines Plugins wie tt_news, bei dem sich die anzuzeigenden Datensätze zwar geändert hatten, die Aktualisierung des Caches aber erst nach Ablauf dessen Gültigkeitszeitraums  erfolgte. (Die Möglichkeit, generell den Cache zu deaktivieren, ist böse und wir daher nicht näher betrachtet). Über die Einstellung TCEMAIN.clearCacheCmd auf der Seite, die die Datensätze enthält, ließ sich zwar der Cache einzelner (oder aller) Seiten bei Änderungen invalidieren, jedoch ist dies nicht wirklich sinnvoll und praktikabel: Man muss entweder die Liste der Seiten-IDs pflegen oder mittels „all“ den Cache...

0

TYPO3 Core Dokumentation

Mit dem neuen Release haben sich auch wieder ein paar Dinge geändert bzw. kamen neue Dinge hinzu. Folglich wurden auch einige der Core-Dokumentationen aktualisiert. Nachdem die PDFs davon nicht mehr ganz so schnell und einfach aus dem Repository runtergeladen werden können, habe ich mal eine Liste der Dokumente samt PDF-Verlinkung zusammengestellt. Kurz noch die Erklärung von typo3.org, wie die Dokumente allgemein einzusortieren sind: These documents are related to the core of TYPO3 and address the built in functionality of TYPO3. They are designed to provide you with in-depth information. Each Core Manual addresses a particular process or function and how...

1

TYPO3-Scheduler integrieren

Die Integration des integrierten Schedulers in TYPO3 ist denkbar einfach. Zu allererst benötigt der Scheduler einen Benutzer, als der er seiner Aufgabe nachgehen kann. Der Benutzername ist hartcodiert und TYPO3-weit als _cli_scheduler vorgegeben. Dieser Benutzer braucht (in der Regel) keine besonderen Berechtigungen, er muss schlicht und ergreifend existieren (auch das vergebene Passwort ist dahingehend irrelevant). Er darf NICHT mit Administrator-Rechten arbeiten. Ist der Benutzer angelegt, ist die TYPO3-seitige Arbeit schon erledigt. Was nun noch fehlt, ist der Cronjob selbst. Für Linux (ob und wie dies auch mit anderen Betriebssystemen realisierbar ist, gilt es zu prüfen) ist das Vorgehen zum Anlegen...

0

Colspan/Rowspan in CType: table

Das Problem Tabellenzellen kommt nicht mehr allzu häufig vor aber hin und wieder doch. Mit der RTE Tabelle nicht das Problem aber die Tabelle an sich nicht sehr gut zum bearbeiten. In der contenttable ist dies so gut wie unmöglich. Aber es gibt eine funktionierende Lösung: Man nehme die Extension th_exttableservice und aoe_advancedtable.  Da aoe_advancedtable die eigene CSS-Klasse nicht mit übernimmt muss noch folgendes Snippet eingefügt werden. $acctables_class = $this->pi_getFFvalue($this->cObj->data[‚pi_flexform‘], ‚acctables_tableclass‘); $tableClass = ‚contenttable contenttable-‚.$type; if ($acctables_class) { $tableClass.= ‚ ‚.$acctables_class; } $table->setTableAttribute(‚class‘,$tableClass); Und schon kann man Tabellen zusammenfassen. Auf dieser Seite ist noch eine Beschreibung wie es funktioniert. Quellen aoe_advancedtable (als...

5

E-Mail-Link mit Betreff und die Leerzeichen

Beim erstellen eines E-Mail typolinks mit einem Betreff in dem Leerzeichen enthalten sind, wird der Betreff beim ersten Leerzeichen abgeschnitten. %20 half bei spamProtectEmailAddresses = 2 (oder 1) auch nicht. Hier erschienen schöne @-Zeichen. Die Lösung ist man ändert spamProtectEmailAddresses auf 10 (spamProtectEmailAddresses = 10) und somit wird auch %20 wieder als Leerzeichen interpretiert und der Betreff oder der vorgegebene Text sieht wie gewohnt aus.    1 = TEXT    1 {      value = Annmelden!      typolink.parameter = info@example.org?subject=E-Mail%20mit%20Betreff&body=Das%20ist%20der%20Bodytext%20der%20Mail      typolink.wrap = <div>|</div>    } config {   spamProtectEmailAddresses = 10   spamProtectEmailAddresses_atSubst = @<span style=“display:none;“>&nbsp;</span>...

10

tipafriend und TYPO3 4.6

Leider gibt es hier einige Probleme durch das Aufräumen des Cores von TYPO3 (Stichwort: deprecated methods). Da sich bis jetzt noch nichts getan hat bei den Entwicklern der Extension (http://forge.typo3.org/issues/33216#change-100254; http://forge.typo3.org/issues/33385 und http://forge.typo3.org/issues/33386) haben wir folgende Lösung getestet und auch eingesetzt. Bug #33386 no auto-register with CSC: im setup.ts die folgenden Zeilen einbinden tt_content.list {     20 {         11 = CASE         11.key.field = layout         11.0 =< plugin.tipafriend     } } Bug #33385 Tip-A-Friend is using deprecated/unavailable functions: in der class.tx_tipafriend.php folgende Zeile:         $cls=t3lib_div::makeInstanceClassName(‚t3lib_htmlmail‘); durch         $cls=t3lib_div::makeInstance(‚t3lib_htmlmail‘); ersetzen. Da die Funktion schon...

2

CSS-Stylesheets fehlen im Backend?

Ein seltsames Phänomen, das mich heute länger beschäftigte: Im TYPO3-Backend fehlen die Stylesheets. Als Folge sieht das Backend nicht nur seltsam aus, sondern ist unbedinbar. Via versehentlich aktiven Firebug kam ich auf die Lösung: Die CSS-Dateien wurden aus irgendeinem Grund mit Mimetype „text/plaintext“ ausgeliefert, während „text/css“ erwartet wurde. Folglich wurden sie von Firefox 9 gar nicht eingebunden/interpretiert. Ausweg: Setzen des passenden Mimetypes am Server, z.B. via htaccess-Datei: AddType text/css .css Betroffen war konkret ein etwas älteres Web, das zunächst ein TYPO3 4.1.5, dann 4.1.12 und schließlich ein 4.3.14 war. Update 22:45 Uhr Nachdem mir das doch zu merkwürdig erschien und...