Dez 28
Die Konvertierung erfolgt in zwei Schritten.
1. Mit dieser Extension kann man die Inhalte aus traditionellen Containern (left, normal, right, border) in Templavoila Container vornehmen.
http://typo3.org/extensions/repository/view/eu_tradvoila/current/
2. Für die aktuellen typo3 bzw. Templavoila Versionen (aktuell 4.2.10) ist eine weitere Anpassung erforderlich in der Datenbank erforderlich. Dazu kann man nachfolgende SQL-Statements verwenden.
UPDATE `pages` SET `tx_templavoila_flex` = REPLACE(`tx_templavoila_flex`, 'fieldname index="content_col2" type="array"', 'field index="field_content_col2"');
UPDATE `pages` SET `tx_templavoila_flex` = REPLACE(`tx_templavoila_flex`, '<vdef>', '<value index="vDEF">');
UPDATE `pages` SET `tx_templavoila_flex` = REPLACE(`tx_templavoila_flex`, '</value></vdef>', '');
UPDATE `pages` SET `tx_templavoila_flex` = REPLACE(`tx_templavoila_flex`, '', '');
Jun 23
Vorabarbeiten:
Eine Seitenstruktur muss vorhanden sein, also einfach ein paar Seiten anlegen.
css_styled_content und static_info_tables includieren bzw. installieren
Ist static_info_tables noch nicht installiert, bekommt man bei der Installation von TemplVoila die Aufforderung dies zu tun.
Als inkompatibel gelten:
kb_tv_clipboard
templavoila_cw
eu_tradvoila
Um alle vorhandenen Versionen sehen zu können, sollte unter Settings (Ext Manager) noch Enable extensions without review gesetzt werden.
Installation:
Und nun einfach templavoila im Backend installieren.
Als nächstes einen SysFolder anlegen. Dieser muss nun verbunden werden.
Web->Seite->rootpage->Eigenschaften->Options->General Record Storage page
Hier den gerade erstellten SysFolder auswählen.
Sollte unter Web->Template->Setup noch
page = PAGE
page.10 = HTML
page.10.value = <div>www.multimediateam.com</div>
stehen, dieses in:
page = PAGE
page.typeNum = 0
page.10 = USER
page.10.userFunc = tx_templavoila_pi1->main_page
Damit bekommt TemplaVoila die Anweisung die Ausgabe zu übernehmen.
Bei dieser Gelegenheit nocheinmal kontrollieren, ob wirklich auch css_styled_content eingebunden ist (Click her to edit whole Template unter Setup zu finden)
Um das Mapping geht es in einem neuen Artikel, alle CSS- und HTML-Dateien (und was sonst noch so gebraucht wird) in einem Verzeichnis unterhalb von fileadmin ablegen. Als Tipp noch an dieser Stelle: ich habe mir den Unterverzeichnis templates hierfür reserviert, da ich mit anderen Namen vor einiger Zeit Probleme hatte. Seither habe ich es mit anderen Verzeichnisnamen nicht nocheinmal versucht.
Mrz 10
Wenn die XML-Datei angepasst werden muss gibt es einen Trick:
Nicht die DS modifizieren! Nach jedem Mapping ist sonst der Eintrag weg. Statt dessen ins TO unter ‘Lokale Verarbeitung’ (XML):
array
ce
<!--[CDATA[
10= RECORDS
10.source.current=1
10.tables = tt_content
10.wrap = <! TYPO3SEARCH_begin--> | <!--TYPO3SEARCH_end-->
10.conf.tt_content < plugin.tx_rgaccordion2
10.conf.tt_content.stdWrap.wrap =
<div id="rgaccord2-nest">|</div>
]]-->
Feb 24
Umstellen der Suche von Headline auf Content:
# Swap the selectbox items in Standard Search
temp.temp < tt_content.search.30.dataArray.20.valueArray.10
temp.temp < tt_content.search.30.dataArray.20.valueArray.10
tt_content.search.30.dataArray.20.valueArray.10 >
tt_content.search.30.dataArray.20.valueArray.10 < tt_content.search.30.dataArray.20.valueArray.20
tt_content.search.30.dataArray.20.valueArray.20 >
tt_content.search.30.dataArray.20.valueArray.20 < temp.temp
Feb 24
Suche einbauen mit eigenem Button und Zielseite (anpassen von redirect = 56):
lib.search < tt_content.search.30
lib.search {
layout = <div class="searchform-searchbox">###FIELD###</div>
#layout = ###FIELD###
stdWrap >
#muss wegen xhtml auskommentiert werden
#target = _self
redirect = 56
badMess = Bitte die erforderlichen Felder ausfüllen
dataArray.10 {
label.override = Suche:
type = *sword = input, 10, 20
value = Suche
}
dataArray.20 {
valueArray >
type = scols = hidden
value = pages.title-subtitle-keywords-description:tt_content.header-bodytext-imagecaption
}
params {
# Suchfeld treffen
#input = class="xxx_suchfeld"
input = onfocus = "this.value = ''" onBlur="if(this.value=='')this.value='Suchen'"
# Submitbtn treffen
#submit = class="xxx_suchbutton"
}
Image = IMAGE
image.file = GIFBUILDER
image.file {
XY = 39, 19
20 = IMAGE
20.file = fileadmin/templates/btn_search.gif
20.offset = 0, 0
}
image.wrap = <div class="searchform-searchbox-2">|</div>
}
#Suchergebnis (Ausgabe) anpassen
tt_content.search.20 {
layout.10.override = Ergebnisse auf dieser Seite: ###RANGELOW### bis ###RANGEHIGH### von ###TOTAL###
renderObj.10.typolink.target = _self
renderObj.20.stdWrap.crop = 200 | [...]
noResultObj.10.override = Kein Ergebnis gefunden
next.override = Weiter
prev.override = Zurück
target = _self
range = 10
}
Feb 24
Suche in zwei Sprachen (de und en):
# Language default-Konfiguration
config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE
config.htmlTag_langKey = de
[globalVar = GP:L = 0]
# Konfiguration wenn &L=0 angegeben
config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE
config.htmlTag_langKey = de
[global]
[globalVar = GP:L = 1]
# Konfiguration wenn &L=1 angegeben
config.sys_language_uid = 1
config.language = en
config.locale_all = en_EN
config.htmlTag_langKey = en
#SearchOverlay
lib.search.params.input = onfocus = "this.value = ''" onBlur="if(this.value=='')this.value='Search'"
lib.search.image.file.20.file = fileadmin/templates/btn_search_en.gif
tt_content.search.20.layout.10.override = Results on this PAGE: ###RANGELOW### to ###RANGEHIGH### off ###TOTAL###
tt_content.search.20.noResultObj.10.override = NO result found
[global]
# der Paramter L soll durchgereicht werden
# in class.t3lib_tsparser.php existiert ein Hook um weitere Funktionen zu definieren.
config.linkVars := addToList(L)
# der Paramter soll eindeutig sein (kein doppeltes Auftreten in einer URL)
config.uniqueLinkVars = 1