Beiträge der Kategorie TYPO3

DB-Abfrage bei Zuordnung im BLOB

In Typo3 werden 1:n Beziehungen als kommaseparierte Liste in einem BLOB gespeichert. Dabei ist es nicht ohne weiteres möglich das Feld zu bearbeiten oder aus dem Feld auszulesen. Um aus einem solchen Feld auszulesen, liefert TYPO3 sinnvolle Funktionen, die man bei der Extensionentwicklung einsetzen kann. In der ersten Zeile bastelt man sich mit der Hilfe der Funktion listQuery einen Abfragestring. In diesem Fall sollte der gesuchte Eintrag der Kategorie $catint angehören, die Liste steht dazu im Feld ‚category‘. Die Variable $table enthält den Namen der Tabelle, die Abgefragt werden soll. Die zweite Zeile führt eine Anfrage aus, in $fields gibt man die Felder an, die zurückgegeben werden sollte. An den Where-String aus der ersten Zeile kann man bei Bedarf weitere Abfragen dranhängen wie z.B. ‚hidden=0 AND deleted=0‘.

$where = $GLOBALS['TYPO3_DB']->listQuery('category',$catint,$table);
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery($fields,$table,$where);

Geschrieben in TYPO3 | Kommentare deaktiviert für DB-Abfrage bei Zuordnung im BLOB

Per TS Wert einer GET/POST Variablen auslesen

Wenn der Wert einer GET oder POST Variablen irgendwo per TS ausgelesen werden soll:

10 = TEXT
10.data = GPvar:foo

Dabei ist foo der Name der POST oder GET-Variablen. Falls die benötigte Variable jedoch in einem Array steht, kann man so darauf zugreifen:

Input-Feld:

<input type="text" name="foo[bar]" value="irgendwas" />

TS-Setup:

10 = TEXT
10.data = GPvar:foo|bar

Geschrieben in TYPO3 | Kommentare deaktiviert für Per TS Wert einer GET/POST Variablen auslesen

Zurück zur Suchseite – Nachfrage vermeiden

Das Problem: man hat nach was gesucht und es wurde eine Liste angezeigt. Nun möchte man gerne zurück zur Suchseite. Normalerweise klickt man auf den „zurück“-Button im Browser und es kommt ein Fenster mit der Nachricht, dass die Seite nicht mehr gültig ist.

Es ist nicht möglich die Suche auf GET umzustellen wie Google, aber es möglich das Caching des Browsers zu beeinflussen.

Dazu schreibe man die folgende Zeile ins Ext-Template der Suchseite. Cache-Control ist ein HTTP 1.1 Header, der das Caching von Browsers und Proxies steuert. „max-age“ ist die relative Angabe in Sekunden, wie lange das dokument noch Gültigkeit besitzt – in diesem Fall einen Tag lang(24*60*60). „must-revalidate“ zwingt den Browser dazu, eben genau die oben genannte Einstellung zu beachten.

config.additionalHeaders = Cache-Control: max-age=86400, must-revalidate

Ich habs nicht selbst rausgefunden, vielen Dank ans Forum auf typo3.net.

www.typo3.net/forum/list/list_post//42160/

Voreinstellungen für Content Elemente

Bestimmte Attribute eines Content Elementes können vorbelegt werden, wie z.B. Bilderrahmen, Bildgröße etc.

Beim Anlegen eines neuen Datensatzes in tt_content soll die Bildgröße auf 338×338, der Bildrand auf 1px eingestellt werden. Das Bild wird links oben ausgerichtet und es ist ein 1-spaltiges Layout.

Die dazugehörige Konfiguration im TSconfig (der Gruppe oder des Benutzers):

TCAdefaults.tt_content {
imageborder = 1
imagewidth = 338
imageheight = 338
imagecols = 0
imageorient = 0
}

Eine andere Möglichkeit ist ein Hook und die dadurch erst mögliche Definition der Standardwerte im Page-TSconfig: http://www.typo3-profibuch.de/artikelansicht/backend-default-werte-per-tsconfig-setzen/

Geschrieben in TYPO3 | Kommentare deaktiviert für Voreinstellungen für Content Elemente

Rahmen bei Content Elementen selektieren und umbenennen

Bei Content Elementen gibt es die Möglichkeit einen Rahmen anzugeben. Default ist das ein Abstand von x Pixeln davon bzw. danach. Man kann diesen Rahmen aber dazu verwenden, um Content Elemente mit komplett anderen Rahmen zu versehen.

Mit der folgenden Einstellung können unnötige Rahmen ausgeblendet werden:

TCEFORM.tt_content.section_frame {
removeItems = 1,5,6,7,10
}

Jedem Rahmentyp ist eine Zahl zugeordnet. Diese Zahlen bekommt man raus, wenn man sich den Quelltext des Frames anschaut. Dann werden die bleibenden Rahmen umbenannt, damit der FE-Benutzer weiß, was ein bestimmter Rahmen bewirkt:

TCEFORM.tt_content.section_frame {
altLabels.0 = Kein Rahmen
altLabels.11 = Rahmen grau doppelt hoch
altLabels.12 = Rahmen bunt doppelt hoch
altLabels.20 = Rahmen grau einfach hoch
altLabels.21 = Rahmen bunt einfach hoch
}

Anschliessend werden die Wraps der Rahmen im TSOB angepasst:

tt_content.stdWrap.innerWrap.cObject.20.value = <table border="0" class="content_normal" cellspacing="0" cellpadding="{$styles.content.frames.padding}"><tr><td>|</td></tr></table>
tt_content.stdWrap.innerWrap.cObject.21.wrap = |
tt_content.stdWrap.innerWrap.cObject.21.value = <table border="0" class="content_bunt" cellspacing="0" cellpadding="{$styles.content.frames.padding}"><tr><td>|</td></tr></table>
tt_content.stdWrap.innerWrap.cObject.11.value = <table border="0" cellspacing="0" cellpadding="{$styles.content.frames.padding}" class="content_normal_high"><tr><td>|</td></tr></table>
tt_content.stdWrap.innerWrap.cObject.12.value = <table border="0" cellspacing="0" cellpadding="{$styles.content.frames.padding}" class="content_bunt_high"><tr><td>|</td></tr></table>

GET-Variable einfügen

Falls eine GET-Variablen gesetzt ist, sollte sie an dieser Stelle eingefügt werden, ansonsten ein Standartwert.

page.config.no_cache = 1
seite.config.no_cache = 1
plugin.tx_proapagopixel_pi1.group &gt;
plugin.tx_proapagopixel_pi1.group = TEXT
plugin.tx_proapagopixel_pi1.group.value = Allgemein
plugin.tx_proapagopixel_pi1.group.override.data = global:HTTP_GET_VARS|eventName
plugin.tx_proapagopixel_pi1.group...

Geschrieben in TYPO3 | Kommentare deaktiviert für GET-Variable einfügen

Menü mit mehreren Teilen

Das Ergebnis ist ein Menü, dass 3 Hauptkategorien hat, die alle unterschiedlich farbig dargestellt werden. Die Hauptkategorien werden „manuell“ gerendert. Die Unterpunkte als GMENU. In den Konstanten wird angegeben, in welcher Reihenfolge und Farbe die Menüpunkte gerendert werden.

#rendering template for main category
temp.pages = COA
temp.pages.10 = IMAGE
temp.pages.10.file = GIFBUILDER
temp.pages.10.file {
# set size
10 = TEXT
10.text.field = nav_title // subtitle // title
# set color, font file and font size for 10
}
# render first category
temp.mainmenu.10 = RECORDS
temp.mainmenu.10.source = {$first_page}
temp.mainmenu.10.tables = pages
temp.mainmenu.10.conf.pages < temp.pages
temp.mainmenu.10.stdWrap.typolink.parameter = {$first_page}

#render second category
temp.mainmenu.30 < temp.mainmenu.10
temp.mainmenu.30.source = {$second_page}
# change color in template
temp.mainmenu.30.conf.pages.10.file.10.fontColor = {$second_color}
temp.mainmenu.30.stdWrap.typolink.parameter = {$second_page}

#render third category
temp.mainmenu.40 < temp.mainmenu.10
temp.mainmenu.40.source = {$third_page}
# change color in template
temp.mainmenu.40.conf.pages.10.file.10.fontColor = {$third_color}
temp.mainmenu.40.stdWrap.typolink.parameter = {$third_page}

#render main menu
temp.mainmenu.20 = HMENU
temp.mainmenu.20 {
special = directory
special.value = {$first_page}
entryLevel = 1
1 = GMENU
1 {
NO = 1
NO {
# set dimensions and background color
10 = TEXT
10.text.field = nav_title // subtitle // title
# set color, font size and font file for 10
}
2 < .1
}
# end of temp.mainmenu.20
}

Geschrieben in TYPO3 | Kommentare deaktiviert für Menü mit mehreren Teilen

E-Mail Adressen verschlüsseln

config.spamProtectEmailAddresses = 2
config.spamProtectEmailAddresses_atSubst = @&lt;img src="clear.gif" border="0" width="1px" height="1px" alt="_we_dont_like_spam_" /&gt;

Geschrieben in TYPO3 | Kommentare deaktiviert für E-Mail Adressen verschlüsseln

GMENU Menüpunkte durchnummerieren

NAVI = HMENU
NAVI.special = directory
NAVI.special.value = [pid]
NAVI.1 = GMENU
NAVI.1 {
NO = 1
NO {
XY = 119,29
10 = TEXT
10.text.field = subtitle // title
# hier text und farbe einfügen
30 &lt; .10
30.text.field &gt;
30.text.data = register:count_HMENU_MENUOBJ
30.text.wrap = 0|
30.if {
value.data = register:count_HMENU_MENUOBJ
isLessThan = 9
negate = 1
}
30.fontSize = 28
30.offset = 4, 24
40 &lt; .30
40.text.wrap &gt;
40.if &gt;
40.if {
value.data = register:count_HMENU_MENUOBJ
isLessThan = 9
}
}

Geschrieben in TYPO3 | Kommentare deaktiviert für GMENU Menüpunkte durchnummerieren