TYPO3 - Probleme lösen
Pagebrowser funktioniert nicht
Extensions wie tt_news oder die yag_gallery nutzen den TYPO3 Page Browser. Im Einsatz mit CoolUri kann es zu Problemen kommen und es wird immer die gleiche Seite angezeigt. Ursache ist der Parameter cHash der von den Extensions default mäßig unterdrückt wird und ohne den der PageBrowser nicht funktioniert.
Lösungsansätze
- noCache aktivieren (schlechteste Lösung)
- cHash in der CoolUri Konfiguration drinlassen (muß im Teil <uriparts> sein) (nicht schön aber funktioniert)
- Plugin auf USER_INT umstellen (etwas besser)
- Plugin auf USER_INT und in der Konfiguration den Pointer Parameter abbilden (am Besten)
Lösung am Beispiel tt_news: Quelle: http://www.mediamill.de/blog/2008/09/10/problem-mit-pagebrowser-bei-tt_news-in-verbindung-mit-dem-typo3-plugin-cooluri/ (Zugriff 2016/10)
1. Anpassen des TypoScript Templates:
Folgende Zeile muss dem Typoscript Template der Seite hinzugefügt werden:
plugin.tt_news = USER_INT
2. Anpassen der CoolURI XML Konfigurationsdatei:
Folgender Abschnitt muss der XML – Konfigurationsdatei von CoolURI hinzugefügt werden:
<part key=“page([0-9]+)“> <parameter>tx_ttnews[pointer]</parameter> </part>
Diese Anpassungen von CoolURI bewirken, dass die tt_news Seiten beim „Pagebrowsing“ in der URL einfach durchnummeriert werden. 1.html, 2.html etc.
MySQL Tabellen liegen im falschen Zeichensatz vor
dafür gibt es ein schönes Skript:
Beim Update gehen Teile der Templates und Inhalte verloren
Nach der Version 4.1 wurden Tabellenfelder von blob auf Text umgestellt. TYPO 3 versucht das ohne Angabe des Zeichensatzen. Dabei bricht mysql das Umwandeln nach einem Umlaut o.ä. ab und verwirft den Rest. Meist passiert das in TS Templates wenn in Kommentaren Umlaute sind. Folge, nach dem Update geht das Frontend nicht mehr.
Lösung: die Umwandlung von Hand machen (siehe auch Typo3 - Update) Prinzipell geht das so:
ALTER TABLE t1 CHANGE c1 c1 TEXT CHARACTER SET utf8;
Wichtig ist dabei die Angabe des Character Set in dem die Zeichen vorliegen, damit mySQL weiß wie es die Konvertierung machen. Normalerweise ist das latin1.
siehe auch: http://dev.mysql.com/doc/refman/5.1/en/alter-table.html
eventuell hilft es auch vorher die DB umzustellen (siehe falscher Zeichensatz)
Problem: Chinesische Zeichen werden nicht gespeichert
Beim speichern mit chinesischen Zeichen tritt der Fehler:
102: These fields are not properly updated in database: (title) Probably value mismatch with fieldtype.
auf.
Lösung: Tritt auf wenn TYPO3 mit utf-8 arbeitet, aber die Datenbank in latin Felder speichert. Die Datenbank sollte überall mit utf-8 arbeiten. Einfach per phpmyadmin umstellen. Achtung, wenn TYPO3 noch nicht auf utf-8 umgestellt ist, dann muß TYPO3 umgestellt werden (Stichwort force utf-8) UND die Datenbank inhalte konvertiert werden (utf8_fix Skript) Es gibt auch andere Lösungsansätze im Internet, diese sind aber nicht sinnvoll, wenn die Voraussetzungen der DB nicht stimmen.
Tipp: Auch im Falle das Typo3 schon mit utf-8 arbeitet, aber die DB noch latin hat, kann man sich Zeit sparten und das utf-8 fix Skript nehmen, allerdings muß man es etwas anpassen:
Wenn TYPO3 mit utf-8 arbeitet, aber die Datenbank mit latin speichert kann man das Skript Datei:Db utf8 fix-solo.zip anpassen. Es wandelt zuerst Textfelder in Binaries und diese dann zurück in Textfelder mit utf-8. Einfach das erste mysql Statement auskommentieren, dann stellt es nur die Datenbank um und konvertiert nichts.
Problem: Funktion xyz deprecated
Todo: ausführlicher schreiben Lösung:
Entweder den Code ändern oder wenn es schnell gehen muß php-deprecated warning level Ändern oder wenn es nur im TYPO3 auftritt im Install Tool ändern.
localconf (Zahlencode entspricht php):
$TYPO3_CONF_VARS['SYS']['exceptionalErrors'] = '6133';
oder (geht auch über install Tool
displayErrors
auf 0 setzen
siehe auch htaccess
Problem:' JavaScript Schnipsel auf der Seite werden zerhackt.'
Lösung: htmlcleaning = all kann dazu führen das JavaScript Code zerstört wird. In diesem Fall den Code in separate Datei auslagern oder htmlcleaning = none
Problem failed to open Stream
Nach dem Löschen des Caches dauert es sehr lange bis die Seite aufgebaut wird und es erscheint eine php Warnung (finfo_file -> failed to open Stream).
Der Fehler tritt nicht bei 4.1 aber bei 4.2 (gesehen auf 4.2.8) auf.
Fehlermeldung:
Warning: finfo_file(http://aufbau.blablub.com/) [function.finfo-file]: failed to open stream: HTTP request failed! in /www/htdocs/blablub/cms/typo3/sysext/cms/tslib/class.tslib_pagegen.php on line 490
Lösung
Der Fehler tritt auf wenn ein favicon über TS eingebunden wird (page.shortcuticon = fileadmin/mein/pfad/favicon.ico), die Datei aber nicht vorliegt oder nicht darauf zugegriffen werden kann.