TYPO3-Standard-Konfiguration

Veröffentlicht als Einblick
von Andreas Weisam

Viele Typoscriptfragmente, CSS-Schnipsel, PHP-Brocken oder Javascriptfitzeleien braucht man in der einen oder anderen Form immer wieder. Deshalb eröffne ich hiermit die neue Kategorie Snippets, in der wir - von uns ständig gebrauchte - Codefragmente öffentlich im Blog abspeichern. Zum einen für uns zum Wiederfinden und zum anderen, weil der eine oder andere Schnipsel bestimmt für so manchen auch ganz interessant sein könnte.

In diesem Sinne hier unsere Standard-Typoscript-Konfiguration:

page.ts

#XHTML 5
	config.xhtml_cleaning = all
	config.doctype = <!DOCTYPE HTML>

#CHARSET
	config.metaCharset = utf-8
	config.renderCharset = utf-8

#COOLURI
	config.baseURL = http://base.url
	config.tx_cooluri_enable = 1

#EMAIL SPAMPROTECTION
	config.spamProtectEmailAddresses = 1
	config.spamProtectEmailAddresses_atSubst = (at)

#FAVICON
	page.shortcutIcon = fileadmin/templates/favicon.ico

#META
	page.meta.author = PAGE AUTHOR GOES HERE
	page.meta.robots = index,follow

#CSS
	page.includeCSS{
		text = fileadmin/templates/css/text.css
		header = fileadmin/templates/css/header.css
		footer = fileadmin/templates/css/footer.css
		content = fileadmin/templates/css/content.css
	}
	page.CSS_inlineStyle >

#JAVASCRIPT
	page.includeJS{
		html5 = http://html5shiv.googlecode.com/svn/trunk/html5.js
		html5.external = 1
		html5.allWrap = <!--[if IE]>|<![endif]-->
		jquery = http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
		jquery.external = 1
		page = fileadmin/templates/js/page.js
	}

#COMMON PAGE CONFIGURATION
	page.config.admPanel = 0
	config{
		intTarget = _self
		minifyJS = 1
	}

#LANGUAGE
	config {
		linkVars = L(0-1)
		sys_language_mode = content_fallback
		sys_language_overlay = hideNonTranslated
		#sys_language_overlay = 1
		htmlTag_langKey = de
		sys_language_uid = 0
		language = de
		locale_all = de_DE
	}
	page.meta{
		language = de
		keywords.field = keywords
		keywords.ifEmpty (
			FALLBACK, KEYWORDS, KOMMEN, HIER, HIN
		)
		description.field = description
		description.ifEmpty (
			FALLBACK-DESCRIPTION KOMMT HIER HIN
		)
	}

#ENGLISH
	[globalVar=GP:L=1]
		config {
			htmlTag_langKey = en
			sys_language_uid = 1
			language = en
			locale_all = en_EN
		}
		page.meta{
			author = PAGE AUTHOR GOES HERE
			language = en
			keywords.field = keywords
			keywords.ifEmpty (
				FALLBACK, KEYWORDS, GO, HERE
			)
			description.field = description
			description.ifEmpty (
				FALLBACK DESCRIPTION GOES HERE
			)
		}
	[global]

#START OUTPUT
	plugin.tx_templavoila_pi1.disableExplosivePreview = 1
	page = PAGE
	page.typeNum = 0
	page.10 < plugin.tx_templavoila_pi1
	page.10.userFunc = tx_templavoila_pi1->main_page

config.ts

# CLEAN UP CONTENT RENDERING
	config.disableImgBorderAttr = 1
	lib.stdheader.stdWrap {
		dataWrap = |
		prefixComment >
	}
	tt_content{
		stdWrap{
			innerWrap.cObject.default >
			dataWrap >
			prefixComment >
			prepend.dataWrap >
		}
		header.20{
			dataWrap >
			prefixComment >
		}
		html.prefixComment >
		default.prefixComment >
		text{
			stdWrap.prefixComment >
			20.prefixComment >
		}
		textpic.20.stdWrap.prefixComment >
		table.20.stdWrap.prefixComment >
		mailform.20.stdWrap.wrap >
		menu.20.stdWrap.prefixComment >
		image.20.stdWrap.prefixComment >
		list.20.stdWrap.prefixComment >
		stdWrap.prepend.dataWrap >
	}
#DELETE DEFAULT ATTRIBUTES (z.B. class="bodytext")
	lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.addAttributes >

Haupt-Typoscripttemplate

<INCLUDE_TYPOSCRIPT: source="FILE: pfad/zur/page.ts">
<INCLUDE_TYPOSCRIPT: source="FILE: pfad/zur/config.ts">
<INCLUDE_TYPOSCRIPT: source="FILE: pfad/zur/plugins.ts">
<INCLUDE_TYPOSCRIPT: source="FILE: pfad/zur/libraryObjects.ts">

Die zwei zusätzlichen TS-Dateien (plugin.ts, libraryObjects.ts) sind zur Konfiguration der installierten Plugins und Bibliotheks-Objekten gedacht.