<?php
$TYPO3_CONF_
VARS["BE"]["installToolPassword"] = "7823a81408fabb47257ceea7f43c70cb";
## INSTALL SCRIPT EDIT POINT TOKEN  all lines after this points may be changed by the install script!
$typo_db_username = 'u207';
$typo_db_host = 'localhost';
$typo_db_password = '7894mvyy'
$typo_db = 'cyber2004';
$TYPO3_CONF_VARS["SYS"]["sitename"] = 'CYBERhouse';
$TYPO3_CONF_VARS[EXT][noEdit] = 0;

?>
Listing 1.1 Auszug aus der Konfigurationsdatei localconfig.php



main = PAGE
main.typeNum = 0
main.stylesheet = fileadmin/style.css
main.bodyTag = <body bgcolor="#ffffff" leftmargin="0" marginheight="0" marginwidth="0" topmargin="0">
main.10 = TEMPLATE
main.10 {
template = FILE
template.file = fileadmin/team.html
workOnSubpart = DOCUMENT_BODY
marks.NORMAL < styles.content.get
marks.LINKS < styles.content.getLeft
marks.RECHTS < styles.content.getRight
}
Listing 1.2 Beispiel fr ein Template



# Default PAGE object:
page = PAGE
page.typeNum = 0
page.10 = TEXT
page.10.value = HELLO WORLD!



# Standard PAGE Objekt:
seite = PAGE
seite.typeNum = 0
seite.3 = TEXT
seite.3.value = HELLO WORLD!



seite = PAGE
seite.typeNum = 0
seite.10 = TEMPLATE
seite.10.template = FILE
seite.10.template.file = fileadmin/index.html



seite = PAGE
seite.typeNum = 0
seite.bodyTag = <body bgcolor = white>
seite.10 = TEMPLATE
seite.10.template = FILE
seite.10.template.file = fileadmin/index.html
seite.10.workOnSubpart = DOKUMENT



seite = PAGE
seite.typeNum = 0
seite.bodyTag = <body bgcolor = white>
seite.10 = TEMPLATE
seite.10 {
template = FILE
template.file = fileadmin/index.html
workOnSubpart = DOKUMENT
}



seite = PAGE
seite.typeNum = 0
seite.bodyTag = <body bgcolor = white>
seite.10 = TEMPLATE
seite.10 {
template = FILE
template.file = fileadmin/index.html
workOnSubpart = DOKUMENT
marks.INHALT = TEXT
marks.INHALT.value = Hallo Welt
}



seite.10 = IMAGE
seite.10 {
file = fileadmin/foto.jpg
file.width = 150
}



seite.10 = IMG_RESOURCE
seite.10 {
file = fileadmin/foto.jpg
stdWrap.wrap = <table background="|"><tr><td> Bildtext </td></tr></table>
}



seite.10 = TEXT
seite.10.value = Vorher
seite.20 = HRULER
seite.20 {
lineThickness = 2
lineColor = red
}
seite.30 = TEXT
seite.30.value = Nachher



seite.10 = COA
seite.10.10 = TEXT
seite.10.10.value = Wort1
seite.10.20 = TEXT
seite.10.20.value = Wort2



seite.10.marks.INHALT = CONTENT
seite.10.marks.INHALT {
table = tt_content
select.orderBy = sorting
select.where = colPos=0
}



styles.content.get = CONTENT
styles.content.get {
table = tt_content
select.orderBy = sorting
select.where = colPos=0
select.languageField = sys_language_uid
}



seite.10.value = Hallo
[browser = netscape]
seite.20 = HTML
seite.20 {
value = Sie benutzen einen Netscape Browser
}
[GLOBAL]



seite = PAGE
seite.typeNum = 0
seite.10 = IMAGE
seite.10.file = GIFBUILDER
seite.10.file {
XY = [5.w], [5.h]
5 = IMAGE
5.file = fileadmin/hintergrund.jpg
10 = TEXT
10.text.field = title
10.offset = 10, 40
10.fontFile = fileadmin/
10.fontSize = 18
}
Listing 6.1 Gifbuilder-Objekt



seite = PAGE
seite.typeNum = 0
seite.10 = TEMPLATE
seite.10 {
template = FILE
template.file = fileadmin/vorlage.html
workOnSubpart = DOKUMENT
marks.KATEGORIE = IMAGE
marks.KATEGORIE.file = GIFBUILDER
marks.KATEGORIE.file {
XY = 100, 50
5 = IMAGE
5.file = fileadmin/img/hg.gif
10 = TEXT
10.text.field = title
10.offset = 5, 20
10.niceText = 1
10.fontFile = fileadmin/verdana.ttf
10.fontSize = 18
10.fontColor = red
}
}
Listing 6.2 Kategorienberschrift einer Webseite



seite.10 = IMAGE
seite.10.file = GIFBUILDER
seite.10.file {
10 = TEXT
10.text.field = title
10.shadow.offset = 2, 2
10.shadow.intensity = 50
10.shadow.blur = 50
}
Listing 6.3 Erzeugung von Text mit Schlagschatten



seite.10 = IMAGE
seite.10.file = GIFBUILDER
seite.10.file.XY = 200,200
seite.10.file.backColor = black
seite.10.file.10 = BOX
seite.10.file.10 {
dimensions = 20,20,160,120
color = red
}
Listing 6.4 Erzeugung geometrischer Objekte



marks.NAVIGATION = HMENU
marks.NAVIGATION.1 = TMENU
marks.NAVIGATION.1.NO {
allWrap = <tr><td>|</td></tr>
beforeImg = fileadmin/img/pfeilchengrau.gif
beforeROImg = fileadmin/img/pfeilchengruen.gif
RO = 1
}
marks.NAVIGATION.1.ACT = 1
marks.NAVIGATION.1.ACT {
allWrap = <tr><td>|</td></tr>
beforeImg = fileadmin/img/pfeilchenrot.gif
}
marks.NAVIGATION.2 = TMENU
marks.NAVIGATION.2.NO {
allWrap = <tr><td>|</td></tr>
beforeROImg = fileadmin/img/pfeilchengruen.gif
RO = 1
}
marks.NAVIGATION.2.ACT = 1
marks.NAVIGATION.2.ACT {
allWrap = <tr><td>|</td></tr>
beforeImg = fileadmin/img/pfeilchenrot.gif
}
Listing 7.1 Beispiel fr ein hierarchisches Textmen



marks.MENU_UNTEN = HMENU
marks.MENU_UNTEN.special = directory
marks.MENU_UNTEN.special.value = 8
marks.MENU_UNTEN.1 = TMENU
marks.MENU_UNTEN.1.NO {
before = &nbsp;
after = &nbsp; | |*| &nbsp; | |*| &nbsp;
}
Listing 7.2 Definition der special-Eigenschaft



marks.NEU.10 = HMENU
marks.NEU.10.special = updated
marks.NEU.10.special.value = 2, 3
marks.NEU.10.special {
mode = tstamp
maxAge = 3600*24*3
limit = 5
}
Listing 7.3 Automatische Erzeugung genderter Seiten



marks.PFAD = HMENU
marks.PFAD {
special = rootline
special.range = 0 | -1
1 = TMENU
1.NO.allWrap = | &nbsp; / &nbsp; |*| | &nbsp; / &nbsp; |*| |
}
Listing 7.4 Erzeugung klickbarer Pfadanzeigen



marks.MENU = HMENU
marks.MENU.minItems = 6
marks.MENU.maxItems = 6
marks.MENU.1 = TMENU
marks.MENU.1.wrap = <td class="fliesstext"> | </td>
marks.MENU.1.NO {
before = &nbsp;
after = &nbsp; | |*| &nbsp; | |*| &nbsp;
}
Listing 7.5 Maximalanzahl der Meneintrge



seite.10 = HMENU
seite.10.1 = TMENU
seite.10.1 {
expAll = 1
NO.allWrap = <div class=text> | </div>
}
seite.10.2 = TMENU
seite.10.2.NO {
allWrap = <div class=textklein> | </div>
}
Listing 7.6 Textmen



seite.10 = HMENU
seite.10.1 = TMENU
seite.10.1 {
NO.allWrap = <p> | </p>
NO.beforeImg = fileadmin/img/pfeilchen.gif
NO.AtagParams = style=none
NO.after = &nbsp;
}
Listing 7.7 Kombination von Eigenschaften fr ein Textmen



marks.NAVI = HMENU
marks.NAVI.1 = TMENU
marks.NAVI.1 {
NO {
allWrap = <tr height="20"><td class="navi">|</td></tr>
ATagParams=class="navi"
}
ACT = 1
ACT {
allWrap = <tr height="20"><td class="navi_active">|</td></tr>
ATagParams=class="navi_active"
}
}
marks.NAVI.2 = TMENU
marks.NAVI.2 {
NO {
allWrap = <tr height="20"><td class="navi">|</td></tr>
ATagParams=class="navi"
beforeImg = fileadmin/img/pfeilchentrans.gif
beforeROImg = fileadmin/img/pfeilchen.gif
RO = 1
}
ACT = 1
ACT {
allWrap = <tr height="20"><td class="navi_active">|</td></tr>
ATagParams=class="navi_active"
beforeImg = fileadmin/img/pfeilchen.gif
}
}
Listing 7.8 Komplette Umsetzung des Textmens im Beispielprojekt



marks.MENU = HMENU
marks.MENU.1 = GMENU
marks.MENU.1.NO {
backColor = #AAAAAA
XY = 100, 20
10 = TEXT
10.text.field = title
10.fontFile = fileadmin/verdana.ttf
10.fontSize = 11
10.offset = 4,10
10.niceText = 1
}
Listing 7.9 Grafische Mens



marks.MENU = HMENU
marks.MENU.1 = GMENU
marks.MENU.1.expAll = 1
marks.MENU.1.NO {
backColor = #AAAAAA
XY = 100, 20
10 = TEXT
10.text.field = title
10.fontFile = fileadmin/verdana.ttf
10.fontSize = 11
10.offset = 4,10
10.niceText = 1
}
marks.MENU.2 = GMENU
marks.MENU.2.NO {
backColor = #CCCCCC
XY = 100, 14
10 = TEXT
10.text.field = title
10.fontFile = fileadmin/verdana.ttf
10.fontSize = 9
10.offset = 3,8
10.niceText = 0
}
Listing 7.10 Erweiterung des grafischen Mens um eine Textebene



marks.MENU = HMENU
marks.MENU.1 = GMENU
marks.MENU.1.expAll = 1
marks.MENU.1.NO {
backColor = #AAAAAA
XY = [10.w]+10, 20
10 = TEXT
10.text.field = title
10.fontFile = fileadmin/verdana.ttf
10.fontSize = 11
10.offset = 4,10
10.niceText = 1
5 = IMAGE
5.file = fileadmin/menuhintergrund.gif
}
marks.MENU.2 = GMENU
marks.MENU.2.NO {
backColor = #CCCCCC
XY = [10.w]+10, 14
10 = TEXT
10.text.field = title
10.fontFile = fileadmin/verdana.ttf
10.fontSize = 9
10.offset = 3,8
10.niceText = 0
5 = IMAGE
5.file = fileadmin/menuhintergrundklein.gif
}
Listing 7.11 Erweiterung um eine Grafik



marks.MENU = HMENU
marks.MENU.1 = GMENU
marks.MENU.1.expAll = 1
marks.MENU.1.NO {
backColor = #AAAAAA
XY = [10.w]+10, 20
10 = TEXT
10.text.field = title
10.fontFile = fileadmin/verdana.ttf
10.fontSize = 11
10.offset = 4,10
10.niceText = 1
5 = IMAGE
5.file = fileadmin/menuhintergrund.gif
}
marks.MENU.1.RO < .NO
marks.MENU.1.RO = 1
marks.MENU.1.5.file = fileadmin/menueover.gif
marks.MENU.1.ACT < .NO
marks.MENU.1.ACT = 1
marks.MENU.1.5.file = fileadmin/menueaktiv.gif
marks.MENU.2 = GMENU
marks.MENU.2.NO {
backColor = #CCCCCC
XY = [10.w]+10, 14
10 = TEXT
10.text.field = title
10.fontFile = fileadmin/verdana.ttf
10.fontSize = 9
10.offset = 3,8
10.niceText = 0
5 = IMAGE
5.file = fileadmin/menuhintergrundklein.gif
}
Listing 7.12 Men mit einem Rollover-Effekt



marks.MENU = HMENU
marks.MENU.1 = GMENU
marks.MENU.1.NO {
XY = [10.w]+10, 20
10 = TEXT
10.text.field = title
10.fontFile = fileadmin/verdana.ttf
10.fontSize = 11
10.offset = 4,10
10.niceText = 1
}
marks.MENU.2 = TMENU
marks.MENU.2.NO {
allWrap = <tr><td>|</td></tr>
}
Listing 7.13 Mischung von Text- und Grafikmen



seite = PAGE
seite.typeNum = 0
seite.includeLibs.gmenu_layers = media/scripts/gmenu_layers.php
seite.10 = HMENU
seite.10.1 = GMENU_LAYERS
seite.10.1 {
layerStyle = position:absolute;left:0px;top:20px;width:10px;VISIBILITY:hidden;
xPosOffset =-10
lockPosition = x
expAll=1
NO {
backColor = #cccccc
XY = [10.w]+30, 20
10 = TEXT
10.text.field = title
10.fontFace = fileadmin/verdana.ttf
10.fontSize = 12
10.offset = 5,15
}
}
Listing 7.14 Layermens



seite.10.2 = GMENU
seite.10.2.NO {
backColor = #cccccc
XY = 140, 20
10 = TEXT
10.text.field = title
10.offset = 5,13
10.fontSize = 11
10.fontFace = fileadmin/verdana.ttf
}
Listing 7.15 Aufklappmen



seite = PAGE
seite.typeNum = 0
seite.includeLibs.gmenu_layers = media/scripts/gmenu_layers.php
seite.10 = HMENU
seite.10.1 = GMENU_LAYERS
seite.10.1 {
layerStyle = //
position:absolute;left:0px;top:20px;width:10px;VISIBILITY:hidden;
xPosOffset =-10
lockPosition = x
expAll=1
NO {
backColor = #cccccc
XY = [10.w]+30, 20
10 = TEXT
10.text.field = title
10.fontFace = fileadmin/verdana.ttf
10.fontSize = 12
10.offset = 5,15
}
}
seite.10.2 = GMENU
seite.10.2.NO {
backColor = |*| #cccccc || #aaaaaa |*|
XY = 140, 20
10 = TEXT
10.text.field = title
10.offset = 5,13
10.fontSize = 11
10.fontFace = fileadmin/verdana.ttf
20 = BOX
20.dimensions = 0,0,2,20
20.color = #000000
30 < .20
30.align = r
40 = BOX ||
40.dimensions = 0,0,140,2
40.color = #000000
50 = |*||*| || BOX
50.dimensions = 0,0,140,2
50.color = #000000
50.align = ,b
}
Listing 7.16 Formatiertes Aufklappmen



seite = PAGE
seite.typeNum = 0
seite.includeLibs.gmenu_layers = media/scripts/gmenu_layers.php
seite.10 = HMENU
seite.10.1 = GMENU_LAYERS
seite.10.1 {
layerStyle = position:absolute;left:0px;top:20px;width:10px;VISIBILITY:hidden;
xPosOffset = 0
lockPosition = x
expAll=1
NO {
backColor = #cccccc
XY = [10.w]+30, 20
10 = TEXT
10.text.field = title
10.fontFace = fileadmin/verdana.ttf
10.fontSize = 12
10.offset = 5,15
}
}
seite.10.2 = GMENU_LAYERS
seite.10.2 {
layerStyle = position:absolute;left:0px;top:200px;width:10px;VISIBILITY:hidden;
xPosOffset = -10
yPosOffset = -30
lockPosition = y
expAll = 1
}
Listing 7.17 Mehrstufiges Layermen


seite.10.2.NO {
backColor = |*| #cccccc || #aaaaaa |*|
XY = 140, 20
10 = TEXT
10.text.field = title
10.offset = 5,13
10.fontSize = 11
10.fontFace = fileadmin/verdana.ttf
20 = BOX
20.dimensions = 0,0,2,20
20.color = #000000
30 < .20
30.align = r
40 = BOX ||
40.dimensions = 0,0,140,2
40.color = #000000
50 = |*||*| || BOX
50.dimensions = 0,0,140,2
50.color = #000000
50.align = ,b
}
seite.10.3 = GMENU
seite.10.3.NO {
backColor = |*| #cccccc || #aaaaaa |*|
XY = 120, 20
10 = TEXT
10.text.field = title
10.fontFace = fileadmin/verdana.ttf
10.fontSize = 10
10.offset = 5,13
20 = BOX
20.dimensions = 0,0,2,20
20.color = #000000
30 < .20
30.align = r
40 = BOX ||
40.dimensions = 0,0,120,2
40.color = #000000
50 = |*||*| || BOX
50.dimensions = 0,0,120,2
50.color = #000000
50.align = ,b
}
Listing 7.18 Dritte Ebene des HMENU-Objektes



zeilenframeset = PAGE
zeilenframeset.typeNum = 0
header = PAGE
header.typeNum = 1
main = PAGE
main.typeNum = 3
blank = PAGE
blank.typeNum = 4
bottom = PAGE
bottom.typeNum = 5
zeilenframeset.frameSet {
rows = 104,*,29
params = border="0" frameborder="no" framespacing="0"
1 = FRAME
1.obj = header
1.params = noresize scrolling="no"
2 = FRAMESET
2.params = noresize scrolling="no"
2.cols = 783,*
2 {
1 = FRAME
1.obj = main
2 = FRAME
2.obj = blank
}
3 = FRAME
3.obj = bottom
3.params = noresize scrolling="no"
}
Listing 7.19 Frames mit unterschiedlichen Typnummern



# Example content:
Name: | *name = input,40 | Enter your name here
Email: | *email=input,40 |
Address: | address=textarea,40,5 |
Contact me: | tv=check | 1
|formtype_mail = submit | Send form!
|html_enabled=hidden | 1
|subject=hidden| This is the subject
Listing 8.1 Formularkonfiguration



RTE.classes {
hervorhebung {
name = Cyberhouse Hervorhebung
value = font:bold;
}
hervorhebungFarbe {
name = Cyberhouse farbige Hervorhebung
value = font:bold; color:blue;
}
}
RTE.default.classesCharacter = hervorhebung, hervorhebungFarbe



RTE.classes {
hervorhebung {
name = Cyberhouse Hervorhebung
value = font:bold;
}
hervorhebungFarbe {
name = Cyberhouse farbige Hervorhebung
value = font:bold; color:blue;
}
fliessText {
name = Cyberhouse Fliesstext
value = font:regular; font-size:11pt; font-family:Verdana;
}
Ueberschrift {
name = Cyberhouse berschrift
value = font:bold; font-size: 14pt; font-family: Verdana;
}
}
RTE.default.classesCharacter = hervorhebung, hervorhebungFarbe
RTE.default.classesParagraph = fliessText, Ueberschrift
RTE.default.hidePStyleItems = *
Listing 8.2 Individuelle Formate fr die Abstze



RTE.default.userElements {
10 = Hoch-/Tiefgestellt
10 {
10 = Hochgestellt
10.description = Ausgewhlter Text wird hochgestellt.
10.mode = wrap
10.content = <sup>|</sup>
20 = Tiefgestellt
20.description = Ausgewhlter Text wird tiefgestellt.
20.mode = wrap
20.content = <sub>|</sub>
}
20 = Sonstige
20 {
10 = Testeintrag
10.description = Dient zum Test
10.mode = default
10.content = Test
}
}
Listing 8.3 Men mit benutzerdefinierten Elementen



RTE.colors {
hintergrund {
name = Hintergrundfarbe
value = #cccccc
}
hervorhebung {
name = Farbe fr Hervorhebungen
value = blue
}
}
RTE.default.colors = hintergrund, hervorhebung
RTE.default.disableColorPicker = 1



BODY {
border: 1px black solid;
border-top: none;
margin : 2 2 2 2;
font-family:Verdana;
font-size:10px;
color:black;
background-color:white;
}
TD {font-family:Verdana; font-size:10px;}
P {margin-top:0px; margin-bottom:5px;}
DIV {margin-top:0px; margin-bottom:5px;}
OL {margin: 5px 10px 5px;}
UL {margin: 5px 10px 5px;}
BLOCKQUOTE {margin-top:0px; margin-bottom:0px;}



styles.content.get = CONTENT
styles.content.get {
table = tt_content
select.orderBy = sorting
select.where = colPos=0
select.languageField = sys_language_uid
}



marks.SPRACHE = PHP_SCRIPT
marks.SPRACHE {
file = fileadmin/scripts/my_languageMenu.php
}



<?php
$query = "SELECT * FROM pages_language_
overlay WHERE pid=".$GLOBALS["TSFE"]->id.$GLOBALS["TSFE"]->sys_
page->enableFields("pages_language_overlay")." GROUP BY sys_
language_uid";
$res = mysql(TYPO3_db,$query);
$langArr=array();
while($row=mysql_fetch_assoc($res)) {
$langArr[$row["sys_language_uid"]]=$row["title"];
}
$flags = array();
$flags[] = ($GLOBALS["TSFE"]->sys_language_
uid==0).'<a class="navi" href="index.php?id='.$GLOBALS["TSFE"]-
>id.'&L=0" target=_top>DEUTSCH</a>';
$flags[] = ($GLOBALS["TSFE"]->sys_language_
uid==1).'<a class="navi" href="index.php?id='.$GLOBALS["TSFE"]-
>id.'&L=1" target=_top>ENGLISH</a>';
$content = '<tr><td></td><td class="ft10px333333">'.implode(" /
",$flags).'</td></tr>';
?>



config.linkVars = L
config.sys_language_uid = 0
config.language = de
[globalVar = GP:L = 1]
config.sys_language_uid = 1
config.language = en
[global]



admPanel {
enable.edit = 1
module.edit.forceDisplayIcons = 1
module.edit.forceDisplayFieldIcons = 1
hide = 1
}



admPanel {
enable.edit = 1
enable.preview = 1
enable.cache = 1
enable.publish = 1
enable.edit = 1
enable.tsdebug= 1
enable.info= 1
hide = 0
}



plugin.tt_news {
displayList.date_stdWrap.strftime= %A, %e. %B %Y
displayLatest.date_stdWrap.strftime= %A, %e. %B %Y
displaySingle.date_stdWrap.strftime= %A, %e. %B %Y
displaySingle.image.file.maxW = 150
limit = 5
latestLimit = 3
}



temp.news = COA
temp.news < plugin.tt_news
temp.news {
templateFile = fileadmin/news/news_template.tmpl
code >
code = LATEST
wrap1 >
wrap1 = <div class="ft10px333333">|</div>
pid_list >
pid_list = 29
PIDitemDisplay >
PIDitemDisplay = 23
enableArchiveDate >
enableArchiveDate = 1
}
marks.NEWS < temp.news



plugin.tx_indexedsearch.tableParams {
secHead = border=0 cellpadding=0 cellspacing=0 width="200"
searchBox = border=0 cellpadding=0 cellspacing=0
searchRes = border=0 cellpadding=0 cellspacing=0 width="200"
}
plugin.tx_indexedsearch.show.rules = 0
plugin.tx_indexedsearch.search.page_links=10
plugin.tx_indexedsearch._CSS_DEFAULT_STYLE >



Sehr geehrte(r) Frau/Herr ###USER_name###!
Der communicator informiert Sie immer aktuell ber
Neuerungen, Aktionen und Ereignisse rund um das Cyberhouse
und seine Partner.
Wenn Sie sich abmelden oder Ihre Daten ndern mchten, rufen Sie
http://2004.cyberhouse.at/index.php?id=25&cmd=edit&aC=###SYS_
AUTHCODE###&rU=###USER_uid###
auf.
###CONTENT###



plugin.tt_board_tree.postform.badMess = Folgende Felder sind
Pflichtfelder...
plugin.tt_board_tree.postform.layout = <tr><td
class="ft10px666666">###LABEL###</td></tr><tr><td
class="ft10px666666">###FIELD###</tr></td>
plugin.tt_board_tree.postform_newThread.badMess = Folgende Felder
sind Pflichtfelder...
plugin.tt_board_tree.postform_newThread.layout = <tr><td
class="ft10px666666">###LABEL###</td></tr><tr><td
class="ft10px666666">###FIELD###</tr></td>



plugin.tx_automaketemplate_pi1 {
content = FILE
content.file = fileadmin/template/cyberhouse.html
elements {
BODY.all = 1
BODY.all.subpartMarker = DOCUMENT
TD.all = 1
}
relPathPrefix = fileadmin/template/
}
page = PAGE
page.typeNum = 0
page.config.disableAllHeaderCode=1
page.10 =< plugin.tx_automaketemplate_pi1




