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 &lt; plugin.tx_rgaccordion2
				10.conf.tt_content.stdWrap.wrap =
<div id="rgaccord2-nest">|</div>
]]--&gt;
Feb 24
## <a title="templavoila" href="http://typo3.org/extensions/repository/?tx_terfe_pi1[view]=search&no_cache=1&tx_terfe_pi1[sword]=templavoila" target="_blank">templavoila</a>
## Default PAGE object for TemplaVoila:
page = PAGE
page {
	typeNum = 0
	includeCSS {
	style1 = fileadmin/templates/clearall.css
	style2 = fileadmin/templates/typography.css
	style3 = fileadmin/templates/position.css
	style4 = fileadmin/templates/main.css
	style5 = fileadmin/templates/ypSlideOutMenus.css
	style6 = {$colorcoding.css}
}
10 = USER
10.userFunc = tx_templavoila_pi1->main_page
}
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