Seit TYPO3 Version 4.2.X heißt die Klasse, die ein Seitenobjekt repräsentiert zwar immer noch pageSelect, liegt aber nicht wie zuvor in der gleichnamigen Datei, sondern in t3lib_page.php. Das hat zur Folge, dass wenn man ein Objekt der Klasse erzeugen möchte, man zunächst die Datei richtig inkludieren muss.
Vorher hat also das ausgereicht:
$sysPageObj = t3lib_div::makeInstance(‚t3lib_pageSelect‘);
Nun ist auch das notwenig (wobei der Pfad zu t3lib auch in einer anderen Variable stecken kann, in meinem Kontext war nur diese verfügbar):
require_once($GLOBALS[‚temp_path_t3lib‘].’class.t3lib_page.php‘);
Mein Vorschlag ist, zu prüfen, ob die Datei t3lib_page.php exisitert und diese bei Bedarf zu laden, so sollte das Erzeugen des Page Objektes sowohl in alten als auch in neuen TYPO3 Versionen funktionieren.
if(file_exists($GLOBALS[‚temp_path_t3lib‘].’class.t3lib_page.php‘)) {
require_once($GLOBALS[‚temp_path_t3lib‘].’class.t3lib_page.php‘);
}
$sysPageObj = t3lib_div::makeInstance(‚t3lib_pageSelect‘);
UPDATE:
Gleiches Problem bei den Basic file funcitons:
if(file_exists($GLOBALS[‚temp_path_t3lib‘].’class.t3lib_basicfilefunc.php‘)) {
require_once($GLOBALS[‚temp_path_t3lib‘].’class.t3lib_basicfilefunc.php‘);
}
$fileFunc = t3lib_div::makeInstance(‚t3lib_basicFileFunctions‘);
Beiträge der Kategorie TYPO3
Meta-Tags aus der Indizierung ausschließen
Um beim Indizieren mit der indexed_search die Metatags auszuschließen, kann seit TYPO3 4.2.4 folgendes ins Setup geschrieben werden:
config.index_metatags = 0
page.config.index_metatags = 0
Seitentitel durch eigene Extension ändern
Es ist möglich innerhalb der eigenen Extension den Seitentitel zu überschrieben, so wie es tt_news auf der Detailansicht macht. Das ist natürlich sinnvoll, weil dann in der Suche die Seitentitel aussagekräftiger sind, weil Google so die Seiten besser zuordnen kann und natürlich weil die Benutzer sich so besser orientieren können.
Um den Seitentitel zu ersetzen braucht man eigentlich nur diese zwei Zeilen:
$GLOBALS[‚TSFE‘]->page[‚title‘] = $entry->get(‚title‘);
$GLOBALS[‚TSFE‘]->indexedDocTitle = $entry->get(‚title‘);
Das funktionieriert aber nur dann, wenn die Extension gecached ist, sprich USER (und nicht USER_INT), falls man noch klassisch die Extensions mit pi erstellt, dann sollte da auch die Option gesetzt werden, dass die Extension gecached werden soll.
Bin allerdings gestern das Problem gestoßen, dass es in TYPO3 4.2.6 nicht klappt. Muss das mal weiter untersuchen.
DAM Problemchen
Beim Verwenden der DAM-Funktionen in eigenen Extensions hat sich folgendes Problem aufgetan: in der Tabelle tx_dam_mm_ref werden die Referenzen auf die Dateien aus dem DAM gespeichert. Dabei wird in der Spalte tablenames der Tabellenname der Extensiontabelle gespeichert, das Feld ist aber nur 30 Zeichen lang. Wenn man sich an die Konventionen hält und die Tabellen z.B. tx_meineextensions_meinetabelle heißen, reichen diese 30-Zeichen nicht aus. Beim Schreiben in die Datenbank werden die letzten Zeichen abgeschnitten, was dazu führt, dass in der tx_dam_mm_ref in der Spalte ein falscher Tabellenname drin steht, weshalb die verknüpften Datei nicht gefunden werden.
Lösung: Feld länger machen…
Grafischer Header
… der sich auch ausrichten läßt und auch noch verlinkt ist.
# graphical header #
temp.graphicalHeader = COA
temp.graphicalHeader {
10 = IMAGE
10.stdWrap.wrap =
|
10.stdWrap.typolink.parameter.field = header_link
10.stdWrap.insertData = 1
10.file = GIFBUILDER
10.file {
XY = [10.w]+1,28
transparentColor = #ffffff
backColor = #ffffff
10 = TEXT
10 {
text.current = 1
fontSize = 20
fontFile = {$headerFont}
offset = 0,23
fontColor = #000000
niceText = 1
}
}
}
tt_news Anzeige im BE ohne Titel und Sortiermöglichkeiten
Problem: in einer TYPO3 4.2.3 Installation wird im BE bei News kein Titel der News angezeigt und somit fehlt der Link auf die Einzelansicht der Tabelle, um Felder ein- und auszublenden und die damt verbundenen Sortiermöglichkeiten.
Lösung: In den Einstellungen der Extension den Wert von „News Label in List-Module“ auf „title“ und „Category ordering in BackEnd trees“ auf „title“ setzen.
Danke: http://www.typo3.net/forum/list/list_post//83582/
Flexforms: Felder abhängig von anderen anzeigen
Ich wollte in den FlexForms ein Feld nur dann anzeigen lassen, wenn in einem vorherigen Feld ein bestimmter Wert ausgewählt ist. Dann habe ich die Lösung gefunden – sie besteht aus einer Kombination aus onChange mit dem Wert reload und displayCond.
Hier ist der Link, der mit geholfen hat: [link funktioniert nicht mehr]Change value in FlexForms on Reload[/link]
Hier ein allgemeines Beispiel:
MySQL Shell-Kommandos
Datenbank Dump: nach -u folgt der Bentuzername, bei -p wird ein Passwort verlangt (man kann es direkt dahinter angeben, sollte man aber nicht), bei -v bekommt man angezeigt, was grade passiert. Und mit > dateiname.sql wird die Ausgabe in die gleichnamige Datei geleitet.
mysqldump -u benutzername -p -v datenbankname > dateiname.sql
Datenbank Dump wieder einspielen:
mysql -u benutzername -p -v datenbankname < dateiname.sql
TMENU Subtitle anstatt Title ausgeben
Wenn man in dem Seitentitel z.B. HTML-Auszeichnungen nutzen möchte (wie tief- und hochgestellte Zeichen), ist das problematisch, da die HTML-Tags auch in dem Titel des Browsers auftauchen. Als Lösung kann man HTML-Tags im Subtitle verwenden, diesen zum Rendern des Menüs verwenden, der Seitentitel ist dann HTML frei. In einem TMENU braucht man folgende Zeile, der Rest ist wie gehabt:
1 = TMENU
1 {
NO = 1
NO.wrapItemAndSub =
NO.stdWrap.field = subtitle // title
}
Redakteure dürfen Cache löschen
Das ins TS-Config, dann dürfen die Redakteure auch den Cache aller Seiten löschen:
options {
clearCache.all=1
clearCache.pages=1
}
Neueste Kommentare