TYPO3 Testsystem erstellen
Zum Ausprobieren neuer Extensions, zum Programmieren, für Schulungen und zum allgemeinen Rumprobieren brauch man eine 1:1 Kopie des TYPO3-Systems. Da das Kopieren immer etwas aufwendig und fehleranfällig war, hab ich ein kleines Batch-Skript geschrieben:
@echo off set SEDTOOL=sed set SERVER=INTRANETSERVER set LIVEDIR=C:\WEBS\intranet set TESTDIR=C:\WEBS\intranet-test set LIVEDBNAME=intranet set TESTDBNAME=intranettest set DBUSER=username set DBPASSWORD=password echo Checking Server IF %COMPUTERNAME%==%SERVER% GOTO server_ok echo Bitte Skript nur auf %SERVER% ausführen! pause GOTO ende :server_ok echo "kopiert den Inhalt, Dateien und Datenbank von intranet nach intranet-test" echo "" pause echo "==>Lösche alte Dateien..." RMDIR /S /Q %TESTDIR% echo "==> Lösche alte Datenbank..." mysql -e "DROP DATABASE %TESTDBNAME%" -u%DBUSER% -p%DBPASSWORD% mysql -e "CREATE DATABASE %TESTDBNAME%" -u%DBUSER% -p%DBPASSWORD% echo "==> Kopiere Dateien..." XCOPY %LIVEDIR% %TESTDIR% /E /I echo "==> Erstelle MySQL-Dump von Intranet.." mysqldump -u%DBUSER% -p%DBPASSWORD% %LIVEDBNAME% >tmp.sql echo "==> Füge Dump in intranettest ein..." mysql -u%DBUSER% -p%DBPASSWORD% %TESTDBNAME% <tmp.sql del tmp.sql echo "==> Passe Konfiguration an..." type %TESTDIR%\typo3conf\localconf.php |%SEDTOOL% "s/typo_db = 'typo3'/typo_db = '%TESTDBNAME%'/g" >tmpconf.php move tmpconf.php %TESTDIR%\typo3conf\localconf.php copy testlogo.gif %TESTDIR%\fileadmin\images\logo.gif echo "==> Fertig!" pause :ende
Im selben Verzeichnis muss noch sed.exe und testlogo.gif sein. Das Testlogo dient der besseren Unterscheidung.
Bitte nur benutzen, wenn du verstehst, was Code macht!!
Morelink direkt zu Datei
Problem:
Ich hab eine TYPO3-Webseite mit einem Newsplugin. An viele News sind PDF-Dateien angehängt, die den eigentlichen Inhalt der News darstellen. Wie erreiche ich es jetzt, dass wenn man auf den More-Link klickt, direkt die PDF-Datei geöffnet wird. Wenn keine PDF-Datei angefügt wurde soll natürlich die normale Single-View kommen
Lösung:
plugin.tt_news.displayList{
subheader_stdWrap {
# Hier wird der anzuzeigende Text in der Listenansicht zugeschnitten und ein "Mehr"-Link
# hinzugefügt:
crop = 400 | ... | 1
stripHtml = 1
append = COA
append {
10 = TEXT
10.data = register:newsMoreLink
10.wrap = <span class="news-list-morelink">|</span>
10.if {
isTrue.field = news_files
negate = 1
}
20 = TEXT
20.field = news_files
20.wrap = <span class="news-list-morelink"><a href="/uploads/media/|">[mehr]</a></span>
20.if {
isFalse.field = news_files
negate = 1
}
}
}
Dummerweise will das mein Chef doch nicht. Naja, vielleicht kann man es wo anderes verbauen…