Eingebette Objekte (object, embed, iframe) im RTE von TYPO3

caticonslite_bm_alt

Standardmäßig ist es im Rich Text Editor (RTE) von TYPO3 nicht möglich eingebettete Objekte (z.B. Flickr-Stream, Vimeo– oder YouTube-Video) einzufügen. Abhängig von der Quelle erfolgt die Einbindung entweder mit den HTML-Tags object, param und embed, oder als iframe. Die folgende Konfiguration des RTE ist grundsätzlich über sämtliche Plug-ins hinweg gültig und funktioniert somit auch im RTE von tt_news, tx_news, usw.

Zuerst müssen die erforderlichen HTML-Tags zu den erlaubten Tags hinzugefügt werden – hierfür ergänzt man die RTE-Konfiguration im PageTS wie folgt:

RTE.default.proc {
	allowTags := addToList(object,param,embed,iframe)
	allowTagsOutside := addToList(object,embed,iframe)
	entryHTMLparser_db.allowTags < .allowTags
}

Tags die bei „allowTagsOutside“ angegeben werden, können auch außerhalb eines Block-Elements wie „p“ oder „div“ eingefügt werden.

Anschließend muss noch die Parser-Funktion des RTE im TypoScript-Setup angepasst werden:

lib.parseFunc_RTE.allowTags := addToList(object,param,embed,iframe)

Installation von TYPO3 6.1 mit Git

caticonslite_bm_alt

TYPO3 verwendet bereits seit längerer Zeit (seit 1. März 2011 um genau zu sein) Git als Versionverwaltung (Version Control System – VCS). Aus diesem Grund bietet es sich an, auch für eigene TYPO3-Projekte Git einzusetzen, da sich daraus einige Vorteile ergeben, z.B. die Einbindung und somit einfache Aktualisierung des TYPO3-Core als Submodule.

1. Laden des „Dummy“-Archivs (in diesem Fall Version 6.1.1):

wget http://prdownloads.sourceforge.net/typo3/dummy-6.1.1.tar.gz?download

2. Entpacken und verschieben des „Dummy“-Archivs (in diesem Fall in den Ordner „public_html“):

tar xzf dummy-6.1.1.tar.gz?download
mv dummy-6.1.1 public_html

Das „Dummy“-Archiv wird nicht mehr benötigt und kann daher gelöscht werden.

3. Erstellen des Git-Repository (zuerst ins Verzeichnis wechseln):

cd public_html/
git init

4. Entfernen nicht benötigter Dateien/Symlinks (u.a. aus Sicherheitsgründen):

rm *.txt
rm typo3_src

5. TYPO3-Core („typo3_src“) als Git-Submodule einbinden:

git submodule add git://git.typo3.org/Packages/TYPO3.CMS.git typo3_src

6. Checkout von Core und dessen Submodules (Extbase, etc.) in der gewünschten Version (in diesem Fall 6.1.1):

cd typo3_src
git checkout tags/TYPO3_6-1-1
git submodule update --init --recursive
cd ..

Vorhandene Versionen können mit „git tag“ angezeigt werden.

7. Nur „Programmcode“ sollte ins Git-Repository, daher werden „Benutzerdaten“ (z.B. hochgeladene Bilder, Dokumente) und weitere für die Versionverwaltung nicht interessante Dateien/Ordner ausgenommen:

echo "# User
/fileadmin/
/uploads/
# Deprecation-Log
/typo3conf/deprecation*
# Enable Install Tool
/typo3conf/ENABLE_INSTALL_TOOL
# SQL
/typo3conf/*.sql
# Cache
/typo3conf/temp_CACHED*
/typo3conf/temp_fieldInfo.php
# Temp
/typo3temp/
" > .gitignore

8. Initial commit im CommitMessage-Format für TYPO3:

git add .
git commit -a -m "[TASK] initial commit"

Nun kann wie gewohnt mit Git gearbeitet werden.

getContentObject()-Fehler beheben

caticonslite_bm_alt

Nach einem Update/Upgrade des TYPO3 Core kann es zum folgenden Fehler im Backend kommen:

Fatal error: Call to a member function getContentObject() on a non-object in /var/www/typo3/sysext/extbase/Classes/Configuration/ConfigurationManager.php on line 101

Dieser Fehler lässt sich beheben, indem man zum einen die cf_* Cache-Tabellen der Datenbank (TRUNCATE) und den Inhalt des Ordners typo3temp/Cache/ leert („rm -Rf typo3temp/Cache/*“).

AllowOverride MultiViews

caticonslite_bm_alt

Apache stellt mit dem Modul „mod_negotiation“ und der Option „MultiViews“ eine automatische Fehlerbehandlung zur Verfügung. Sollte der angeforderte URL nicht existieren, so wird nach Dateien mit dem selben Wortstamm gesucht. Das kann sich bei der Verwendung von „mod_rewrite“ negativ auswirken und zu einer falschen Auflösung von URLs führen. Um Probleme bei der Auflösung von URLs zu verhindern setzen CMS wie Drupal 7 oder TYPO3 NEOS die Option „Options -MultiViews“ in der .htaccess-Datei.

Ist „AllowOverride“ nicht korrekt gesetzt und erlaubt das Überschreiben der Option nicht, so resultiert dies in einem „Internal Server Error“ im Browser bzw. einem „[…]/.htaccess: Option MultiViews not allowed here“ in den Apache-Logs. In den seltensten Fällen möchte man das Überschreiben aller Optionen mit „AllowOverride All“ erlauben, sondern nur gezielt Freigaben hierfür erteilen. Dies kann man beispielsweise mit „AllowOverride AuthConfig FileInfo Indexes Limit Options=All,MultiViews“ erreichen.

HTTP-Header anzeigen

Den HTTP-Header kann man mit diversen Tools (z.B. mit den Add-Ons Firebug oder Web Developer für Firefox) überprüfen. Da es sich bei HTTP um ein „Klartextprotokoll“ (d.h. für den Menschen lesbar) handelt, kann auch telnet verwendet werden.

Hierfür startet man das Programm in der Konsole mit dem Servernamen bzw. der Server-IP (hier: „webentwickler.at“) und dem Port (hier „80“ für HTTP) als Parameter:

telnet webentwickler.at 80

Anschließend übermittelt man die Methode (hier: „GET“) gefolgt von der gewünschten Seite (in diesem Fall „/“) und dem gewünschten Protokoll (hier: „HTTP/1.1“). Anschließend folgt der zugehörige Host (hier: „webentwickler.at“):

GET / HTTP/1.1
HOST: webentwickler.at

Am Ende muss ein weiterer Zeilenumbruch erfolgen, um die Befehle vom Server verarbeiten zu lassen. Diese Informationen sollte man in einem Editor vorbereiten, da der Server u.u. bei manueller Eingabe die Verbindung vor der Ausführung wieder trennt.

1 3 4 5 6 7 8  nach oben