Das Typo3-Framework bietet die Möglichkeit in einer Extension mittels PHP die ID des aktuellen Content-Elements (Content-Elemnt der Extension) auszulesen.
$this->cObj->data['uid']
Das Typo3-Framework bietet die Möglichkeit in einer Extension mittels PHP die ID des aktuellen Content-Elements (Content-Elemnt der Extension) auszulesen.
$this->cObj->data['uid']
Eine hübsche Variante sich im HTML-Code einer Typo3-Umgebung zu verewigen, ist die Erweiterung des Standardkommentars im HTML-Header.
page.config {
headerComment (
*********************************************************************************
Website by xxxxx - www.domain.com
*********************************************************************************
)
}
Hier finden Sie Beispiele für verschiedene mit Typo3 realisierte Menüs.
lib.breadcrumb = HMENU
lib.breadcrumb.special = rootline lib.breadcrumb.1 = TMENU
lib.breadcrumb.1.NO {
ATagParams = class="internal_link"
ATagTitle.field = abstract // description // subtitle
stdWrap.htmlSpecialChars = 1
linkWrap = | <span> > </span>
}
lib.breadcrumb.1.CUR = 1
lib.breadcrumb.1.CUR {
doNotLinkIt = 1
linkWrap = <span>|</span>
stdWrap.htmlSpecialChars = 1
}
lib.meta = HMENU
lib.meta.special = list
lib.meta.special.value = 35, 38, 40, 36
lib.meta.1 = TMENU
lib.meta.1.noBlur = 1
lib.meta.1.NO {
ATagParams =
linkWrap = |<span> | </span> |*| |<span> | </span> |*| |
}
lib.meta.stdWrap.wrap = <div class="metanavigation">|</div>
lib.subnavigation = COA
lib.subnavigation.wrap=<div>|</div>
lib.subnavigation.5 = HTML
lib.subnavigation.5.value=<div></div>
lib.subnavigation.10 = TEXT
lib.subnavigation.10 {
data = leveltitle : 1
wrap = <h2>|</h2>
htmlSpecialChars = 1
}
lib.subnavigation.20 = HMENU
lib.subnavigation.20.entryLevel = 1
lib.subnavigation.20.1 = TMENU
lib.subnavigation.20.1.noBlur = 1
lib.subnavigation.20.1 {
noBlur = 1
expAll = 1
wrap = <ul id="subnavigation">|</ul>
NO = 1
NO {
ATagTitle.field = abstract // description // subtitle
allWrap = <li>|</li>
stdWrap.htmlSpecialChars = 1
}
ACT = 1
ACT < .NO
ACT {
ATagParams =
stdWrap.htmlSpecialChars = 1
}
IFSUB = 1
IFSUB < .NO
IFSUB {
allWrap = <li>|
stdWrap.htmlSpecialChars = 1
}
ACTIFSUB = 1
ACTIFSUB < .ACT
ACTIFSUB {
allWrap = <li>|
stdWrap.htmlSpecialChars = 1
}
}
lib.subnavigation.20.2 = TMENU
lib.subnavigation.20.2.noBlur = 1
lib.subnavigation.20.2 {
wrap = <ul>|</ul></li>
NO = 1
NO {
ATagTitle.field = abstract // description // subtitle
allWrap = <li>|</li>
stdWrap.htmlSpecialChars = 1
}
ACT = 1
ACT < .NO
ACT {
ATagParams =
}
}
lib.subnavigation.25 = HTML
lib.subnavigation.25.value=<div></div>
lib.mainnavigation = HMENU
lib.mainnavigation.special = list
lib.mainnavigation.special.value = 8,7,6,5,4,3,94
lib.mainnavigation.1 = TMENU
lib.mainnavigation.1.noBlur = 1
lib.mainnavigation.1.wrap = <ul>|</ul>
lib.mainnavigation.1 {
expAll = 1
NO = 1
NO {
linkWrap = <li>| || <li>| || <li>| || <li>| || <li>|
ATagTitle.field = abstract // description // subtitle
stdWrap.htmlSpecialChars = 1
stdWrap.wrap= <span>|</span>
}
ACT < .NO
ACT = 1
ACT {
linkWrap = <li id="current">| || <li id="current">| || <li id="current">| || <li id="current">| || <li id="current">|
}
}
lib.mainnavigation.2 = TMENU
lib.mainnavigation.2.noBlur = 1
lib.mainnavigation.2.wrap = <ul>|</ul></li>
lib.mainnavigation.2 {
expAll = 1
NO = 1
NO {
ATagTitle.field = abstract // description // subtitle
linkWrap = <li>|</li>
stdWrap.htmlSpecialChars = 1
}
}
Um SQL-Fehler komfortabel unter Typo3 zu debuggen muss im Install-Tool unter "All Configuration" die Variable "sqlDebug" gesetzt werden, danach werden die dementsprechenden SQL-Meldungen auf der Webseite ausgegeben.
Wird Direct Mail ohne tt_address-Extension verwendet wird zwar die tt_address-Datenbanktabelle angelegt, allerdings nur mit den durch DirectMail ergänzenden Werten. DirectMail tätigt allerdings Abfragen auf diese Tabelle, und dadurch enstehen im Backend Fehlermeldungen. Um diese zu behebden muss der tt_address-Tabelle das Feld “pid” vom typ INT(11) hinzugefügt werden. DirectMail funktioniert dann auch ohne tt_address einwandfrei.
Im Normalfall wird DirectMail aber in Verbindung mit tt_address genutzt und dann muss tt_address vor DirectMail installiert werden.
Viele Extensions liefern dynamische Daten zurück die zur Laufzeit aus der Datenbank generiert werden und von Benutzereingaben abhängig sind. Damit solche PlugIns aber auch wirklich immer die gewünschten Daten zurückliefern muss für diese das Typo3-interne Caching deaktiviert werden. Dies erfolgt an 2 Orten in der Extension:
Ändern Sie die Zeile:
t3lib_extMgm::addPItoST43($_EXTKEY, 'pi1/class.tx_extension_pi1.php', '_pi1', 'list_type', 1);
in:
t3lib_extMgm::addPItoST43($_EXTKEY, 'pi1/class.tx_extension_pi1.php', '_pi1', 'list_type', 0);
Löschen Sie direkt nach der Klassendefinition folgende Zeile:
var $pi_checkCHash = true;
Fügen Sie zu main-Funktion $this->pi_USER_INT_obj = 1; hinzu:
function main($content, $conf) {
...
$this->pi_USER_INT_obj=1;
...
}
Immer noch ist ImageMagick 4.2 für Typo3 die beliebteste Version des Grafikerzeugers, da diese automatisch und ohne Probleme läuft. Doch auch ImageMagick 6 lässt sich mit den richtigen Einstellungen zur Zusammenarbeit mit Typo3 bewegen.
Hier finden Sie die Einstellung der diversen Install-Tool-Parameter für ImageMagick 6:
image_processing = 1
thumbnails = 1
thumbnails_png = 0
nonIconProc = 1
gif_compress = 1
imagefile_ext = gif,jpg,jpeg,tif,bmp,pcx,tga,png,pdf,ai
gdlib = 1
gdlib_png = 0
gdlib_2 = 1
im = 1
path = [serverpfad]
im_path_lzw = [serverpfad]
im_version_5 = im6
im_negate_mask = 0
im_imvMaskState = 1
im_no_effects = 1
im_v5effects = 1
im_mask_temp_ext_gif = 1
im_mask_temp_ext_noloss = miff
im_noScaleUp = 0
im_combine_filename = composite
im_noFramePrepend = 0
jpg_quality = 90
enable_typo3temp_db_tracking = 0
TTFLocalConv =
TTFdpi = 96
png_truecolor = 0
Die Verarbeitung von Post- und Get-Parametern ist in den meisten Extension eine Notwendigkeit. Das Typo3-Framework bietet bei Einhaltung einer Konvention eine komfortable Möglichkeit auf diese Parameter in einer Extension zuzugreifen.
extensionname[feldname]
<select id="var" name="tx-extension-pi1[var]">
Um nun in der Extension den Wert auslesen zu können werden zunächst alle Form-Values in ein Array gespeichert, wodurch dann auf jeden Wert zugegriffen werden kann:
$formValues = t3lib_div::_GP('tx-extension-pi1');
$var = $formValues['var'];
Extensions beziehen Übersetzungen aus den im Extension-Verzeichnis enthaltenen locallang.xml-Dateien. Die Definitionen lassen sich entweder direkt in diesen Dateien verändern oder aber komfortabel per TypoScript überschreiben:
plugin.[name]._LOCAL_LANG.de.[Feldname] = [Wert]
plugin.tx_veguestbook_pi1._LOCAL_LANG.de.form_error = Es ist ein Fehler aufgetreten!
Viele Typo3-Extensions binden standardmäßig eigene CSS-Definitionen ein. Diese sind meist aber überflüssig, da die Templates so und so eigenen Bedürfnissen und Vorstellungen angepasst werden. Das Einbinden dieser Standard CSS-Definitionen kann allerdings einfach per TypoScript unterbunden werden.
plugin.[name]._CSS_DEFAULT_STYLE >
plugin.tx_veguestbook_pi1._CSS_DEFAULT_STYLE >