Mit ‘TYPO3’ getaggte Artikel

TYPO3 und UTF-8

Mittwoch, 26. Mai 2010

Beim Umgang mit TYPO3 (und anderen PHP Projekten) und einer UTF-8 Datenbank gibt es einen Stolperstein, der nicht so offensichtlich zu lösen ist.
Der Kniff ist die Datenbank beim Initialisieren auf UTF-8 einzustimmen… entweder im Konfigurationstool unter “setDBinit” mit:

1
2
3
4
SET NAMES utf8
SET CHARACTER SET utf8
SET SESSION character_set_server = utf8
SET character_set_connection = utf8

… oder einfach direkt in der typo3conf/localconf.php:

1
$TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8'.chr(10).'SET CHARACTER SET utf8'.chr(10).'SET SESSION character_set_server = utf8'.chr(10).'SET character_set_connection = utf8';

EDIT: Ab TYPO 4.4 scheint es Probleme mit dieser Konfiguration zu geben. Verwendet stattdessen einfach nur den ersten Befehl “SET NAMES utf8;”.

burnabit.com Relaunch

Montag, 29. März 2010

burnabit.com Website v2

Sooo, heute möchte ich euch die neue Website von burnabit – meinem Brötchengeber – präsentieren: auf www.burnabit.com findet man jetzt alle Infos über uns als Internet-Dienstleister, was wir leisten können und was wir bislang schon gemacht haben. Unser Ziel war es nicht nur eine schön aussehende 0815-Vistenkarte ins Netz zu stellen, sondern auch Inhalte anzubieten. Wir informieren über die Technologien, die wir benutzen und erläutern auch warum wir sie benutzen. Wir zeigen Problemstellungen und Anforderungen unserer Kunden auf und beschreiben wie wir Ihnen weiterhelfen konnten.

Wer sich für Themen wie Online-Werbemittel, eCommerce und Content Management interessiert, sollte auf jeden Fall vorbei schauen. Über Feedback würden wir uns freuen.

Reguläre Ausdrücke in TypoScript

Mittwoch, 10. Februar 2010

TypoScript Variablen und Konstanten mit regulären Ausdrücken zu prüfen ist ein neues Feature ab TYPO3 Version 4.3.0. Leider ist dieses Feature nirgendwo dokumentiert und es finden sich auch keine Beispiele im Internet. Ich habe es nach einiger Frickelei allerdings hingekriegt.

Und zwar ging es darum Google Analytics Javascript Code in die Seite einzufügen, falls eine entsprechende Template-Konstante gesetzt ist. Und so gehts:

1
2
3
[globalString = LIT:{$GOOGLE_ANALYTICS_ID} = /UA-([0-9]+)-([0-9]+)/]
  # do something
[end]

Wichtig ist dabei, dass globalString reguläre Ausdrücke unterstützt und globalVar nicht. Die Konstante muss man dann weiterhin mit LIT in einen Literal “typisieren” und den regulären Ausdruck mit “/” umschließen.
Mit Quantoren scheint es allerdings ein paar Probleme zu geben: ([0-9]{2}) als letzter Ausdruck meiner Google Analytics ID hat funktioniert, ([0-9]{1,4}) hingegen nicht. :/

rsync bei TYPO3 Projekten

Dienstag, 09. Februar 2010

Wollte heute mal ein TYPO3 Projekt ganz unkompliziert über rsync/ssh auf den Webserver hochladen. Funktioniert ganz gut mit:

1
rsync -rulzPh -e 'ssh -ax' ./ ssh-user@ssh-host:/directory

Die Optionen sind -r für rekursiv, -u für update, -l für symbolische Links (erhalten), -z für Komprimierung, -P für –progress (Fortschrittsanzeige) und –partial (erlaubt anscheinend fortsetzen von Dateitransfers) und -h für “human readable” Formate. Mit -e schaltet man die Remote Shell um (da ich ja über SSH verbinde). Damit man aber nicht die ganzen Temp-Dateien und den sonstigen MacOS Filesystem-Mist mit transferiert, erstellt man am besten eine Datei, die zu exkludierende Dateien enthält. Diese hab ich “.rsync_exclude” genannt. Der Inhalt sieht dann wie folgt aus:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# exclude this file
- .rsync_exclude

# exclude mac files
- .DS_Store
- ._*

# exclude git repository
- .git

# exclude typo3 temp files
- /public/typo3temp/*
- /public/typo3conf/temp_*

# exclude typo3 install file
- /public/typo3conf/ENABLE_INSTALL_TOOL

# exclude typo3 deprecation logs
- /public/typo3conf/deprecation_*

Nun muss man beim Aufruf einfach nur noch --exclude-from=.rsync_exclude anhängen und ab gehts!

Saubere GIT Repositories für TYPO3 Projekte

Donnerstag, 04. Februar 2010

Ich erstelle gerade ein TYPO3 Projekt und wollte den Sourcecode mit GIT managen. Da ich natürlich <b>nur</b> die projektspezifischen Dateien ohne temporäre Inhalte und Caches im GIT Repository haben möchte, habe ich folgenden Inhalt in die .git/info/exclude geschrieben:

1
2
3
4
/typo3_src*
/public/typo3temp/*
/public/typo3conf/temp_*
/public/typo3conf/ENABLE_INSTALL_TOOL

… ausgehend von der Verzeichnisstruktur:
/public
/typo3_src-4.3.1

Jetzt haben wir allerdings das Problem, dass der Ordner public/typo3temp nicht mit ins Repositry eingespült wird. Damit der Ordner doch mit im Repository auftaucht, habe ich in dem Verzeichnis eine .donotdelete Datei erstellt:

1
2
touch /typo3temp/.donotdelete
git add -f public/typo3temp/.donotdelete

Danke an den Klops für den Tipp.

Vielleicht hilfts ja wem.