
Beim Update von TYPO3 auf Version 4.4 wurde ein nettes neues Feature eingeführt: Kompression von JavaScript und CSS Dateien sowie die Auslieferung zum Client per gzip inklusive Versionierung per timestamp.
Dazu müssen folgende ConfVarsin der localconf.php gesetzt werden:
$TYPO3_CONF_VARS["BE"]["compressionLevel"] und $TYPO3_CONF_VARS['BE']['versionNumberInFilename']
Neue ConfVars in TYPO3 4.4
Bei der Entwicklung mehrsprachiger Extensions für TYPO3 kommt man früher oder später in die Verlegenheit die richtigen (also in der benötigten Sprache) Datensätze aus der Datenbank zu holen. Viele Entwickler nutzen dazu eigene WHERE Anweisungen mithilfe derer sie den richtigen Datensatz ermitteln. Das sieht dann oftmals so aus:
$where = 'uid = '.$uid.' AND sys_language_uid = '.$GLOBALS['TSFE']->sys_language_uid.' AND hidden = 0 AND deleted = 0';
Schlechtes Beispiel für eine TYPO3 Datenbankabfrage
Viele Extensions in TYPO3 bieten ein Modul im Backend an um zum Beispiel Datensätze zu betrachten oder um Konfigurationenzu erstellen. Die meisten dieser Module sind, wie zum Beispiel das TemplaVoila Seitenmodul, nur für Administratoren zugänglich.
Allerdings gibt es auch Extensions die für einfache Redakteure nützlich sind. Hierzu gehören zum Beispiel Formular-Extensions wie powermail oder formhandler.
Im Falle von formhandler ist das BE-Modul für normale User noch nicht ganz ausgereift. Es fehlen Möglichkeiten die Funktionen für einfache BE Redakteuere zu beschränken. Mit meinem kleinen Patch kann man den Zugriff auf Formulardaten bestimmter Seiten beschränken und die Ausgabe vorsortieren. Das Patch wurde für einen Kunden meines Arbeitgeber Paints Multimedia in Hamburg entwickelt.
Um in einem Extension Modul eine Funktion (definiert durch die Selectbox rechts oben) zu deaktivieren kann man folgendes Snippet in die TSconfig des Users, der BE Gruppe oder der Seite einfügen:
<code> mod.web_txformhandlermoduleM1.menu.function.2 = 0 </code>
Dabei kann man sich an dem Namen des Moduls innerhalb der conf.php orientieren:
<code> $MCONF['name'] ='web_txformhandlermoduleM1'; </code>
Das Beispiel blendet die "Leere Tabelle" Funktion der Extension formhandler aus.
Anders als in der offiziellen Anleitung beschrieben muss das array menu.function und NICHT menu.mode heißen.
Please click here for an English version of this article.
Seit diesem Wochenende ist meine erste TYPO3 Extension im TER verfügbar: beautyOfCode Syntax Highlighter Diese Extension nutzt das jQuery Plugin beautyOfCode von Lars Corneliussen um das mittlerweile recht bekannte Syntax Highlighter 2.0 von Alex Gorbatchev zu implementieren. Bekannt deshalb weil es von einigen Größen eingesetzt wird: wordpress.com, Aptana, Mozilla Developer Center, SitePoint und das Yahoo Developer Network gehören dazu.
Die Widgets meiner Diplomarbeit sind jetzt unter MIT Lizenz veröffentlicht. Diese Lizenz wurde vom Massachusetts Institute of Technology herausgegeben, dient der Veröffentlichung von freier Software und gilt als echte OpenSource Lizenz.
Dieser Schritt war notwendig um Kompatibilität zu den offiziellen jQuery UI Widgets zu schaffen. Aufgrund des Interesses des jQuery UI Teams an meinen Widgets haben sich Namics und meine Wenigkeit zu diesem Schritt entschloßen, um eine Verwendung durch jQuery zu ermöglichen.
Ich hoffe dadurch die Verwendung meiner Widgets voranzutreiben und die Barrierefreiheit von jQuery zu unterstützen.


Vielen ist sicherlich die einzige (bis dato) Lösung zum bloggen mit Typo3 bekannt. Namentlich TimTab. Leider ist diese Extension nicht nur schwierig zu installieren sondern hat auch unzählige Bugs und Probleme. Fehlende Bilder im RSS Feed und keine Funktion von Trackbacks wenn xhtml_clean für sauberen Quellcode aktiviert ist.
Das Problem sahen auch die Jungs von Snowflake und entwickeln seit geraumer Zeit eine "Out-of-the-Box" Blogging Extension. Und von eben dieser ist jetzt ein initial Release im TER verfügbar. Sieht gut aus, das ganze: Anständige Doku, netter Funktion Umfang auch ohne zusätzliche Extensions. Wirkt insgesamt durchdachter als TimTab, auch weil das Bloggen nicht dazugefrimelt wurde, sondern mit Modulen eine nutzbare Lösung bietet. Einige Features sind noch nicht ganz ausgereift (z.B. SPAM) oder hätten anders umgesetzt werden können (Kommentare werden innerhalb der ext verwaltet anstatt auf eine der vielen bestehenden Lösungen wie ve_guestbook oder comments zurückzugreifen).
Getestet wird das ganze auf jeden Fall mal, auch wenn eine Import Funktion für TimTab und kommentare noch fehlt, was die ext für einen live Einsatz auf meiner eigenen Pageerstmal untauglich macht.
Webseite von snowflake
www.snowflake.ch/de/leistungen/typo3-extensions/t3blog/
Extension im TER
typo3.org/extensions/repository/view/t3blog/current/

Habs geschafft das bisschen vom 6. Semester hochzuladen.
Im Prinzip ist das aber ohnhin nur das bereits präsentierte WP Foto Projekt "Konzertfotografie Unleashed Emotions" und unsere (Adrian Damm und ich) Arbeit für Dokumentverwaltung im Internet.
Hierbei haben wir eine Anleitung (anhand einer Webseite) geschrieben mit Hilfe dessen das einbinden von RealUrl für Typo3 keine Schwierigkeiten bereiten sollte.
Das 5. Semester mit einigen mehr Sachen muss ich noch mehr Vorbereiten...
Jeder kennt die Favicons in den Browserleisten und dern Bookmarks. Sie dienen der besseren Auffindbarkeit und dem steigern des Wiedererkennungswert.
Eben diesen Effekt kann man steigern in dem man ein animiertes Favicon benutzt.ie man das macht möchte ich hier erklären - das ganze auf Bitte von Angie.
siehe die Browser-Adressleiste dieser Seite wenn du einen nicht Mircosoft Internet Explorer benutzt. Meines Wissens geht das in allen modernen Browsern, soll heissen Opera, Konquoror, Netscape, Mozilla und seine Freunde (z.B. FireFox)
Da Typo3 eine Browsererkennung mitliefert ist das an sich ganz einfach. Nur das ich nichts zum Thema gefunden habe. Also hab ich mich entschlossen selbst ein Tutorial zu schreiben.
Folgenden Code muss man einfach nur in das Haupttemplate einbinden und schon läuft das ganze...
[browser = msie]
page.headerData {
20 = TEXT
20.value = <link rel="shortcut icon" href="fileadmin/templates/favicon.ico" type="image/x-icon" />
}
[else]
page.headerData {
20 = TEXT
20.value = <link rel="icon" href="fileadmin/templates/favicon.gif" type="image/gif" />
}
[global]
RSS: Blog | Kommentare | Was ist RSS?