von Andreas Otto, 05.06.2006

Statische Seiten mit TYPO3

Aus dem
t3n Magazin Nr. 4

dms 96d3afb5ed1e819dd089d1c96d0e2414

Alle Einstellungen für einen Upload-Vorgang werden mittels TypoScript vorgenommen. Liegt für einen TYPO3-Domain-Eintrag keine entsprechende TypoScript-Konfiguration vor, wird eine Fehlermeldung angezeigt.

Die Verwendung von TypoScript für die Konfiguration des Upload-Vorgangs hat den Vorteil, dass wir flexibel auf die Konfiguration zukünftiger Upload-Dienste reagieren können, ohne dass eine Zeile PHP geschrieben oder geändert werden muss. Für den Upload-Dienst „staticUpload: SCP“ könnte die TypoScript-Konfiguration in etwa so aussehen:

TYPOSCRIPT - SETUP

0: service.staticUpload {
1: www_example_com {
2: server = www.example.com
3: username = root
4: path_to_php = /usr/bin
5: path_to_scp = /usr/bin
6: options = -i /var/lib/wwwrun/.ssh/www.example.com_dsa
7: local_dir = /srv/www.local.example.com/htdocs/publish/*
/srv/www.local.example.com/htdocs/fileadmin
/srv/www.local.example.com/htdocs/uploads
/srv/www.local.example.com/htdocs/typo3temp
8: remote_dir = /srv/www.example.com/htdocs
9: logfile_dir = /tmp
10: service = scp
11: email = john.doe@example.com
12: }
13: }

Listing 1

Schwierigkeiten

Gerade bei der Verwendung von TypoScript zu Konfigurationszwecken sind wir auf einige Schwierigkeiten gestoßen, die an dieser Stelle noch gesondert behandelt werden sollen, zumal ähnliche Fragestellungen des Öfteren auf diversen TYPO3-Mailinglisten auftauchen. Besonders wichtig ist darunter die Einbindung der richtigen PHP-Klassen:

PHP

1: // DEFAULT initialization of a module [BEGIN]
2: unset($MCONF);
3: require ('conf.php');
4: require ($BACK_PATH.'init.php');
5: // DEFAULT initialization of a module [END]
6:
7: require_once( t3lib_extMgm::extPath('dkd_staticupload') .
'mod1/class.tx_dkdstaticupload_module1.php' );
8:
9: // TimeTrack'ing is needed e.g. by t3lib_TStemplate
10: require_once(PATH_t3lib.'class.t3lib_timetrack.php');
11:
12: $TT = new t3lib_timeTrack;
13: $TT->start();
14: $TT->push('','Script start (dkd_staticupload/mod1)');
15:
16:
$GLOBALS['LANG']->includeLLFile('EXT:dkd_staticupload/mod1/locallang.php');
17:
18: // Make instance:
19: $SOBE = t3lib_div::makeInstance('tx_dkdstaticupload_module1');
20: $SOBE->init();
21: $SOBE->main();
22: $SOBE->printContent();
23:
24: $TT->pull();

Listing 2

In der Datei „class.tx_dkdstaticupload_module1.php“ haben wir folgende Klassen eingebunden:

Seite:  1 2 3 4 5 6 7 8

Empfohlene Artikel