Zum Inhalt springen

FE Probleme nach Update von 3.7 auf 4.0.4

Erstellt am 4. Februar 2007 · 8 Antworten · letzte Antwort am 11. Februar 2007

Tags: Inhaltselemente, Update & Upgrade, Frage

torst.​ ·

Hallo Community,

nach nunmehr ca. 1,5 Jahren habe ich nach vermehrten Fehlermeldungen und eingeschränkter Funktionalität mich dazu entschlossen die Homepage unseres Vereins Upzudaten.

Rahmenbedingungen:
Dabei habe ich das Instllationspaket von All-Inkl.com auf eine neue Domain gespielt und die Datenbank importiert. Nach Bedienung der Update Funktion im Install Tool, Umstellung von PHP auf CGI Basis, Einschaltung des Immage Magics ist die Homepage ohne merkliche Einschränkungen funktionsfähig.

Problembeschreibung:
Bei der Compilierung des FrontEnds wird nicht mehr die Tabellen Funktion benutzt sondern mit neuen dd bzw. dt Aufzählungstags. Dadurch sind einerseits meine css hinfällig und die Bilder werden nicht mehr wie gewünscht von dem Text umgeben.

Alte Seite z.B.: http://www.pdce.de/index.php?id=96

<!--  CONTENT ELEMENT, uid:93/textpic [begin] -->
		<a name="93"></a>
		<!--  Image block: [begin] -->
			<table border="0" cellspacing="0" cellpadding="0" class="imgtext-nowrap"><tr><td valign="top"><table width="261" border="0" cellspacing="0" cellpadding="0" class="imgtext-table"><tr><td colspan="1"><img src="clear.gif" width="250" height="1" alt="" /></td><td rowspan="3" valign="top"><img src="clear.gif" width="10" height="1" alt="" title="" /></td></tr><tr><td valign="top"><img src="typo3temp/pics/0d356ff7b3.jpg" width="250" height="171" border="0" align="top" alt="" title="" /><br /></td></tr><tr><td colspan="1" align="left"><p class="csc-caption">Von unserem Mitglied W. Dehlwes</p></td></tr></table></td><td valign="top">
		<!--  Text: [begin] -->
			<p class="bodytext">PORSCHE-DIESEL Standard auf dem Wümme-Deich bei Bremen</p>
		<!--  Text: [end] -->
			</td></tr></table>
		<!--  Image block: [end] -->

Neue Seite z.B.:
http://www.porsche-diesel-classic.de/index.php?id=96

Neuer Code:

<!--  CONTENT ELEMENT, uid:93/textpic [begin] -->
		<a id="c93"></a>
		<!--  Image block: [begin] -->
			<div class="csc-textpic csc-textpic-intext-left-nowrap"><div class="csc-textpic-imagewrap"><dl class="csc-textpic-image csc-textpic-firstcol csc-textpic-lastcol" style="width:250px;"><dt><img src="typo3temp/pics/0d356ff7b3.jpg" width="250" height="171" border="0" alt="" /></dt><dd class="csc-textpic-caption">Von unserem Mitglied W. Dehlwes</dd></dl></div><div style="margin-left:260px;"><div class="csc-textpic-text">
		<!--  Text: [begin] -->
			<p class="bodytext">PORSCHE-DIESEL Standard auf dem Wümme-Deich bei Bremen</p>
		<!--  Text: [end] -->
			</div></div></div><div class="csc-textpic-clear"><!-- --></div>
		<!--  Image block: [end] -->

Meine Seiten lasse ich durch den Auto Parser Compilieren (Ausschnitt aus dem Setup - bei bedarf kann ich auch gerne mehr Posten):

#----------------------------------------------------------
#----------Definition des Autoparser Modules----------
#----------------------------------------------------------


# Configuring the Auto-Parser:
plugin.tx_automaketemplate_pi1 {
  # Read the template file:
  content = FILE
  content.file = fileadmin/templates/design.html
    
  # Here we define which elements in the HTML that
  # should be wrapped in subpart-comments:
  elements {

       BODY.all = 1
       BODY.all.subpartMarker = DOCUMENT_BODY

       HEAD.all = 1
       HEAD.all.subpartMarker = DOCUMENT_HEADER
       HEAD.rmTagSections = title

       TD.all = 1
   }
  

  # Prefix all relative paths with this value:
  relPathPrefix = fileadmin/templates/
}

# Main TEMPLATE cObject for the BODY
temp.mainTemplate = TEMPLATE
temp.mainTemplate {
   # Feeding the content from the Auto-parser to the TEMPLATE cObject:
   template =< plugin.tx_automaketemplate_pi1
   # Select only the content between the <body>-tags
   workOnSubpart = DOCUMENT_BODY
   # Substitute the ###menu_1### subpart with dynamic menu:
   subparts.menu_1 < temp.menu_1
   # Substitute the ###menu_2### subpart with dynamic menu:
   subparts.menu_2 < temp.menu_2
   # Substitute the ###menu_3### subpart with dynamic menu:
   subparts.menu_3 < temp.menu_3
   # Substitute the ###content### subpart with some example content:
   subparts.content < styles.content.get
   # Substitute the ###seitentitel### subpart with some example content:
   subparts.seitentitel = TEXT
   subparts.seitentitel.field = title
   # Substitute the ###border### subpart with some example content:
   subparts.border < styles.content.getBorder
   # Substitute the ###suche### subpart with some example content:
   subparts.suche < plugin.tx_macinasearchbox_pi1
   # Substitute the ###login### subpart with some example content:
   subparts.login < temp.10
   # Substitute the ###language### subpart with some example content:
   subparts.languagede < temp.languagede
   subparts.languageuk < temp.languageuk
   # Zuweisung des Links zur Druckversion 
   subparts.druck = COA 
   subparts.druck.30 = TEXT 
   subparts.druck.30.field = uid 
   subparts.druck.30.wrap = <a href="index.php?id= |&type=98" target="_blank"><img src="fileadmin/templates/images/drucker.gif" alt="Druckansicht" border="0" /></a>
   # Zuweisung des Links zur PDFversion 
   subparts.pdf = COA 
   subparts.pdf.30 = TEXT 
   subparts.pdf.30.field = uid 
   subparts.pdf.30.wrap = <a href="index.php?id= |&type=123" target="_blank"><img src="fileadmin/templates/images/pdf.gif" alt="Inhalt als PDF-Datei ausgeben" border="0" /></a>
   # Zuweisung des Links zum Rechtsausschuss
   subparts.legal = HTML
   subparts.legal.value = <a href="http://www.pdce.de/rechtshinweis.html">© 1999-2007 PORSCHE-DIESEL-Club Europa e.V. Alle Rechte vorbehalten. Rechtliche Hinweise.</a>
   # Änderungsdatum ausgeben 
   subparts.date = COA 
   subparts.date.10 = TEXT 
   subparts.date.10.field = SYS_LASTCHANGED 
   subparts.date.10.date = j.m.Y 
   subparts.date.10.wrap = <b>Info</b></td><td class="datumslink"><a href="index.php?id"> | </a>
   # User online ausgeben 
   subparts.useronline =< plugin.tx_khusersonline_pi1
}

# Main TEMPLATE cObject for the HEAD
temp.headTemplate = TEMPLATE
temp.headTemplate {
   # Feeding the content from the Auto-parser to the TEMPLATE cObject:
   template =< plugin.tx_automaketemplate_pi1
   # Select only the content between the <head>-tags
   workOnSubpart = DOCUMENT_HEADER
}

# Default PAGE object:
page = PAGE
page.typeNum = 0
# Copying the content from TEMPLATE for <body>-section:
page.10 < temp.mainTemplate
page.headerData.10 < temp.headTemplate

1. Lösungsversuch:
Hier im forum hatte ich den Hinweis gefunden, dass ich in dem Mpdule DBCheck - Manage Reference Inbdex, erst Check now dann Upodate now ausführen soll. Dabei kommt es aber zu einem http500 Fehler, der vom Support mit der folgenden Begründung bereits beim Extension Manager beschrieben wurde:
Wenn bei 100% CPU Auslastung 4 Sekunden überschritten werden bzw. bei 50% CPU Auslastung 8 Sec. überschritten werden, wird der Vorgang abgebrochen. Bei der Nachfrage ob man diese Dauer anpassen könnte, wurde dies abgelehnt mit der Empfehlung mir einen Managed Server zu holen. (ca. 90€/Monat ist für unseren Verein einfach zu viel und somit keine Lösung.) o.O

Eventuell fällt Euch noch eine Lösung dazu ein und ich bitte um Hinweise wie ich das Problem lösen kann.

Beste Grüße
Torsten Dehlwes

just2b ·

Hallo Torsten,

die beiden Dinge haben IMO nichts miteinander zu tun. sondern ist mehr eine Sache vom CSS/template.

wenn du nicht das neue css_styled_content verwenden willst, dann steig einfach wieder auf das alte content(default) um

lg georg

torst.​ ·

Hallo just2b,

ich war immer davon ausgegangen, dass ich CSS-Styled-Content verwende, da die Extension ja auch unter 3.7.0 geladen war?

Anbei mein komplettes Typo Script mit den Templates zur Klärung (Ist sicherlich nicht alles optimal aber es ist bisher immer gut gelaufen...):

Constants, Setup, und Rootlevel aktiviert

Include static:
- keine

Include static (from extensions):
- CHC-Forum
- Rating
- CSS Styled Content

Static template files from T3 Extensions:
- default

styles.content.loginform.pid = 12
contentWidth = 530

# Formatierung der Bildausgabe
styles.content.imgtext { 
  maxW = 530 
  linkWrap { 
    width = 
    height =
    JSwindow = 1 
    JSwindow.newWindow = 1 
    JSwindow.expand = 1 
  } 
}



# Formatierung der Header über Stylesheet 
content.wrap.header = | 
content.wrap.header1 = |
content.wrap.header2 = |
content.wrap.header3 = |
# Festlegung des Standard-Headers Normal 
content.defaultHeaderType = 1



#----------------------------------------------------------
#-------------Konstanten der Suchbox-----------------
#----------------------------------------------------------

plugin.tx_macinasearchbox_pi1.CSS_editor = Plugin: "tx_macinasearchbox_pi1"
plugin.tx_macinasearchbox_pi1.CSS_editor.selector = .tx-macinasearchbox-pi1
plugin.tx_macinasearchbox_pi1.CSS_editor.exampleWrap = <HR><strong>Plugin: "tx_macinasearchbox_pi1"</strong><HR><DIV class="tx-macinasearchbox-pi1"> | </DIV>
plugin.tx_macinasearchbox_pi1.CSS_editor.ch {
	P = Text
	P.selector = P
	P.attribs = BODYTEXT
	P.example = <P>General text wrapped in &lt;P&gt;:<BR>This is text <A href="#">with a link</A> in it. In principio creavit Deus caelum et terram terra autem erat inanis et vacua et tenebrae super faciem abyssi et spiritus...</P>
	P.exampleStop = 1
	P.ch.links = < CSS_editor.ch.A
	
	H3 = Header 3
	H3.selector = H3
	H3.attribs = HEADER
	H3.example = <H3>Header 3 example <A href="#"> with link</A></H3><P>Bodytext, Et praeessent diei ac nocti et dividerent lucem ac tenebras et vidit Deus quod esset bonum et factum est...</P>
	H3.ch.links = < CSS_editor.ch.A
	H3.exampleStop = 1
}

#----------------------------------------------------------
#-----------Konstanten des Indexed Search-----------
#----------------------------------------------------------

plugin.tx_indexedsearch.CSS_editor = Plugin: Indexed search
plugin.tx_indexedsearch.CSS_editor.selector = .tx-indexedsearch
plugin.tx_indexedsearch.CSS_editor.exampleWrap = <HR><strong>Plugin: "tx_indexedsearch"</strong><HR><DIV class="tx-indexedsearch"> | </DIV>
plugin.tx_indexedsearch.CSS_editor.ch {
	P = Text
	P.selector = P
	P.attribs = BODYTEXT
	P.example = <P>General text wrapped in &lt;P&gt;:<BR>This is text <A href="#">with a link</A> in it. In principio creavit Deus caelum et terram terra autem erat inanis et vacua et tenebrae super faciem abyssi et spiritus...</P>
	P.exampleStop = 1
	P.ch.links = < CSS_editor.ch.A
	
	searchbox = Search box
	searchbox.selector = .tx-indexedsearch-searchbox
	searchbox.attribs = margin
	searchbox.example = <div class="tx-indexedsearch-searchbox"><table border=0 cellpadding=0 cellspacing=0><form action="#" method="POST" name="tx_indexedsearch"><tr><td nowrap><p>Search for:&nbsp;&nbsp;</p></td><td><input type="text" name="tx_indexedsearch[sword]" value="" class="tx-indexedsearch-searchbox-sword">&nbsp;&nbsp;<input type="submit" name="tx_indexedsearch[submit_button]" value="Search" class="tx-indexedsearch-searchbox-button"></td></tr><tr><td nowrap><p>Match:&nbsp;&nbsp;</p></td><td><p><select name="tx_indexedsearch[defOp]"><option value="0">All words (AND)</option><option value="1">Any words (OR)</option></select>&nbsp; &nbsp; <input type="hidden" name="tx_indexedsearch[extResume]" value="0"><input type="checkbox" value="1" name="tx_indexedsearch[extResume]" CHECKED>Extended resume</p></td></tr></form></table></div>
	searchbox.exampleStop = 1
	searchbox.ch {
		TABLE = Table
		TABLE.selector = TABLE
		TABLE.attribs = TABLE
		TD = Table cells
		TD.selector = TD
		TD.attribs = TD
		INPUT = Form fields
		INPUT.selector = INPUT
		INPUT.attribs = TEXT,background-color,width
		INPUT.ch {
			sword = Search word field
			sword.selector = +.tx-indexedsearch-searchbox-sword
			sword.attribs = TEXT,background-color,width

			button = Submit button
			button.selector = +.tx-indexedsearch-searchbox-button
			button.attribs = TEXT,background-color,width
		}
		SELECT = Form selector boxes
		SELECT.selector = SELECT
		SELECT.attribs = TEXT,background-color,width
	}

	rules = Rules box
	rules.selector = .tx-indexedsearch-rules
	rules.attribs = margin+
	rules.example = <DIV class="tx-indexedsearch-rules"><h2>Rules:</h2><p>Only words with 2 or more characters are accepted<BR>Max 200 chars total<BR>Space is used to split words...</p></DIV>
	rules.exampleStop = 1
	rules.ch {
		H2 = Header
		H2.selector = H2
		H2.attribs = HEADER
		P = Text
		P.selector = P
		P.attribs = TEXT
	}
	whatis = "What is searched for" text
	whatis.selector = .tx-indexedsearch-whatis
	whatis.attribs = margin+
	whatis.example = <DIV class="tx-indexedsearch-whatis"><p>Searching for '<span class="tx-indexedsearch-sw">my</span>' and '<span class="tx-indexedsearch-sw">searchword</span>' in the section 'My section'</p></DIV>
	whatis.exampleStop = 1
	whatis.ch {
		P = Text
		P.selector = P
		P.attribs = TEXT
		P.ch.sw = Search word markup
		P.ch.sw.selector = .tx-indexedsearch-sw
		P.ch.sw.attribs = TEXT
	}

	browsebox = Browsing box
	browsebox.selector = .tx-indexedsearch-browsebox
	browsebox.attribs = margin+
	browsebox.example = <DIV class="tx-indexedsearch-browsebox"><P>Displaying results <span class="tx-indexedsearch-browsebox-strong">1 to 3</span> out of <span class="tx-indexedsearch-browsebox-strong">4</span></P><div class="tx-indexedsearch-sectionlinks"><ul><li><a href="#">Products (1 pages)</a></li><li><a href="#">Main pages (2 pages)</a></li><li><a href="#">Other pages (5 pages)</a></li></ul></div><table><tr><td class="tx-indexedsearch-browsebox-SCell"><p><A HREF="#">Page 1 (S)</a></p></td><td><p><A HREF="#">Page 2</a></p></td><td><p><A HREF="#">Next ></a></p></td></tr></table></DIV>
	browsebox.exampleStop = 1
	browsebox.ch.P < .P
	browsebox.ch.P.ch.strong = Emphasized numbers
	browsebox.ch.P.ch.strong {
	  selector = SPAN.tx-indexedsearch-browsebox-strong
	  attribs = TEXT
	}
	browsebox.ch.sectionlinks = Section links (UL)
	browsebox.ch.sectionlinks.selector = .tx-indexedsearch-sectionlinks UL
	browsebox.ch.sectionlinks.attribs = TEXT,BULLETS
	browsebox.ch.TABLE = Table
	browsebox.ch.TABLE.selector = TABLE
	browsebox.ch.TABLE.attribs = TABLE
	browsebox.ch.TD = Table cells
	browsebox.ch.TD.selector = TD
	browsebox.ch.TD.attribs = TD
	browsebox.ch.TD.ch {
	  TD = Selected table cells
	  TD.selector = + .tx-indexedsearch-browsebox-SCell
	  TD.attribs = TD
	}
	browsebox.ch.TD.ch.P < .P
	browsebox.ch.TD.ch.TD.ch.P < .P

	res = Search result display
	res.selector = .tx-indexedsearch-res
	res.attribs = margin+
	res.example = <div class="tx-indexedsearch-res"><div class="tx-indexedsearch-secHead"><a name="f5d96e774bb33a53c172155606e82a1d"></a><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td width="95%"><h2><a href="#">Section header:</a></h2></td><td align="right" nowrap><p>2 pages</p></td></tr></table></div><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr class="tx-indexedsearch-title"><td width="16"><img src="../../indexed_search/pi/res/pages.gif" hspace="3" width="18" height="16" title=""></td><td width="95%" nowrap><p><a HREF="#">1: Page title of a result page</a></p></td><td nowrap><p class="tx-indexedsearch-percent">96%</p></td></tr><tr><td></td><td colspan="2" class="tx-indexedsearch-descr"><p>About the search result finding the word <span class="tx-indexedsearch-redMarkup">my</span> and another word, <span class="tx-indexedsearch-redMarkup">searchword</span> in the text...<br><img src="clear.gif" width="1" height="5"></p></td></tr><tr><td></td><td class="tx-indexedsearch-info" nowrap><p>Size: 22 K - Created: 26-08-02 - Modified: 13-09-02 22:15<br>Path:<a HREF="#">/Section</a></p></td><td class="tx-indexedsearch-info"><p>&nbsp;</p></td></tr></table><br></div>
	res.exampleStop = 1
	res.ch.P < .P
	res.ch {
	  TABLE = Table
	  TABLE.selector = TABLE
	  TABLE.attribs = TABLE
	  TD = Table cells (TD)
	  TD.selector = TD
	  TD.attribs = TD

	  title = Title row (TR)
	  title.selector = .tx-indexedsearch-title
	  title.attribs = TR
	  title.ch {
	    P = TEXT
		P.selector = P
		P.attribs = TEXT
		P.example = <P>General text wrapped in &lt;P&gt;:<BR>This is text <A href="#">with a link</A> in it. In principio creavit Deus caelum et terram terra autem erat inanis et vacua et tenebrae super faciem abyssi et spiritus...</P>
		P.exampleStop = 1
		P.ch.links = < CSS_editor.ch.A
		P.ch.percent = Score text (percent)
		P.ch.percent.selector = +.tx-indexedsearch-percent
		P.ch.percent.attribs = TEXT
	  }

	  descr = Resume text cell (TD)
	  descr.selector = .tx-indexedsearch-descr
	  descr.attribs = TD
	  descr.ch {
	    P = TEXT
		P.selector = P
		P.attribs = TEXT
		P.example = <P>General text wrapped in &lt;P&gt;:<BR>This is text <A href="#">with a link</A> in it. In principio creavit Deus caelum et terram terra autem erat inanis et vacua et tenebrae super faciem abyssi et spiritus...</P>
		P.exampleStop = 1

		P.ch.redMarkup = Red markup of search words
		P.ch.redMarkup.selector = .tx-indexedsearch-redMarkup
		P.ch.redMarkup.attribs = TEXT
	  }

	  info = Info cell (TD)
	  info.selector = .tx-indexedsearch-info
	  info.attribs = TD
	  info.ch {
	    P = TEXT
		P.selector = P
		P.attribs = TEXT
		P.example = <P>General text wrapped in &lt;P&gt;:<BR>This is text <A href="#">with a link</A> in it. In principio creavit Deus caelum et terram terra autem erat inanis et vacua et tenebrae super faciem abyssi et spiritus...</P>
		P.exampleStop = 1
		P.ch.links = < CSS_editor.ch.A
	  }
	  
	  sechead = Section headers
	  sechead.selector = .tx-indexedsearch-secHead
	  sechead.attribs = margin+
  	  sechead.example = <DIV class="tx-indexedsearch-secHead"></DIV>
	   	sechead.ch {
			H2 = Section header
			H2.selector = H2
			H2.attribs = HEADER
			H2.ch.links = < CSS_editor.ch.A
			P = Page count
			P.selector = P
			P.attribs = TEXT
		  TABLE = Table
		  TABLE.selector = TABLE
		  TABLE.attribs = TABLE
		  TD = Table cells (TD)
		  TD.selector = TD
		  TD.attribs = TD
		}
	}
	P.ch.noresults = "No results" text
	P.ch.noresults {
	  selector = +.tx-indexedsearch-noresults
	  attribs = TEXT
	}
}

#----------------------------------------------------------
#-----------------Konstanten der FAQ-------------------
#----------------------------------------------------------

plugin.faq { 
  
  # cat=plugin.faq/file; type=file[html,htm,tmpl,txt]; label= Template File: HTML-template file for display of faqs. See EXT:faq/pi/faq_template.tmpl for an example
  file.templateFile = EXT:faq/pi/faq_template.tmpl


  # cat=plugin.faq//; type=int+; label= "Single" pid: The PID of the page on which single faq items should be displayed
  PIDItemDisplay = 16
 
  # cat=plugin.faq//; type=int+; label= "Back" pid: The PID of the page to go back to from single faq item display screen.
  backPid = 15
 
  # cat=plugin.faq//; type=int+; label= Max imagewidth Single Item Display
  Single_maxImage_Width = 120

  # cat=plugin.faq//; type=string; label= Related Page Header: if field related page has entry render title.
  RelatedPagesHeader = Verwandte Seiten

  # cat=plugin.faq//; type=string; label= Related Links Header: if field related links has entry render title.
  RelatedLinksHeader = Weiterführende Links
}





content.pageFrameObj = 
styles.content.searchform.goodMess = Ihre Suchanfrage wird bearbeitet. Wir bitten um Geduld


plugin.meta.distribution = TYPO3
plugin.meta.rating = General
plugin.meta.revisit = 30
plugin.meta.language = 
plugin.meta.author = Torsten Dehlwes
plugin.meta.keywords = Porsche-Diesel, Traktor,  Junior, Standard, Super, Master, Allgaier
plugin.meta.robots = all
plugin.meta.copyright = Porsche-Diesel-Club Europa e.V.
plugin.meta.email = webmaster@porsche-diesel-club.de
plugin.meta.description = Porsche-Diesel-Club Europa e.V. - Forum, Tipps, Technik, Verein, Ersatzteile etc.
PAGE_TARGET = 
plugin.tx_gsifeuserlist_pi1.pidList = 14
pdf_generator.size = A4
pdf_generator.top = 35
pdf_generator.bottom = 20
pdf_generator.left = 25
pdf_generator.right = 25
pdf_generator.headfootsize = 12
pdf_generator.bodyfont = Helvetica
pdf_generator.fontsize = 10
pdf_generator.no_links = 1
pdf_generator.footer_left = Seite: $PAGE von $PAGES am $DATE um $TIME
pdf_generator.footer_right = http://www.porsche-diesel-club.de
pdf_generator.header_center = 
pdf_generator.header_left = Titel: $TITLE

plugin.gsttopcontent.classTable =  topcontenttable
plugin.gsttopcontent.classTdTstamp =  topcontenttimestamp
plugin.gsttopcontent.classTdHeader =  topcontentheader
plugin.gsttopcontent.classTdLink =  topcontentlink
plugin.gsttopcontent.classTdBodytext =  topcontentbodytext
plugin.gsttopcontent.classTdBrowse = topcontentbrowse
plugin.tt_calender.maxAge = 5
plugin.gsttopcontent.maxTextLength = 300
plugin.gsttopcontent.maxRecs = 30
plugin.gsttopcontent.andGotoNext =

Setup:

config.extTarget = _new 
page.stylesheet = stylesheet-porsche-club*.css
styles.content.textStyle.altWrap =

#----------------------------------------------------------
#-------------Definition der  Länderinfo-----------------
#---------------------------------------------------------- 
plugin.tx_srstaticinfo_pi1 { 
   countryCode = DEU 
   countryZoneCode = NDS 
   languageCode = DE 
}

#----------------------------------------------------------
#-------------Definition der  User Online---------------
#---------------------------------------------------------- 

plugin.tx_khusersonline_pi1 = USER_INT
plugin.tx_khusersonline_pi1 {
  # In 'text' and 'text.lang.xx' you can use
  # ###GUESTS###, ###MEMBERS###, ###ALLUSERS###
  # and ###USERTEXT###.
  text (
    <span class="online">###GUESTS### ###GUEST###, ###MEMBERS### ###MEMBER### online. max: ###MAX_ALLUSERS###</span>
  )
  text.lang.de (
    <span class="online">###GUESTS### ###GUEST###, ###MEMBERS### ###MEMBER### online. max: ###MAX_ALLUSERS###</span>
  )

  wordArray {
    guests {
      GUEST = guest|guests
      GUEST.lang.de = Gast|Gäste
      IS = is|are
      IS.lang.de = ist|sind
    }
    members {
      MEMBER = reg. User|reg. Users
      MEMBER.lang.de = reg. Benutzer|reg. Benutzer
    }
    allusers {
      USER = Visitor|Visitors
      USER.lang.de = Besucher|Besucher
    }
    max_allusers {
      MAXUSER = Visitor|Visitors
      MAXUSER.lang.de = Besucher|Besucher
    }
  }
  
  timeout = 5
}

#----------------------------------------------------------
#-------------Definition der Seitenstatistik--------------
#---------------------------------------------------------- 
config.stat = 1
config.stat_apache =1
config.stat_apache_logfile =pdcelog.txt


#----------------------------------------------------------
#-------------Definition der Suchbox-------------------
#---------------------------------------------------------- 
page.config.index_enable = 1
plugin.tx_macinasearchbox_pi1 {
	pidSearchpage = 11
	templateFile = fileadmin/templates/design.html
}

plugin.feadmin.fe_users >
plugin.feadmin.fe_users = USER_INT
plugin.feadmin.fe_users {
  userFunc = user_feAdmin->init
  includeLibs = media/scripts/fe_adminLib.inc
  templateFile ={$plugin.feadmin.fe_users.file.templateFile}

  wrap1.wrap = {$plugin.feadmin.fe_users.wrap1}
  wrap2.wrap = {$plugin.feadmin.fe_users.wrap2}
  color1.wrap = {$plugin.feadmin.fe_users.color1}
  color2.wrap = {$plugin.feadmin.fe_users.color2}
  color3.wrap = {$plugin.feadmin.fe_users.color3}

  table=fe_users
  defaultCmd=create
  debug=0

  setfixed=0
  delete=1

  infomail = 1
  infomail.default {
    label = FORGOTPASSWORD
  }

  edit = 1
  edit.preview = 1
  edit.fields = username,password,name,email,usergroup,address,telephone,fax,title,company,zip,city,country,www
  edit.evalValues {
    password = twice, atLeast[5]
    username = 
    email = email
  }

  parseValues {
    username = lower,nospace,trim
    email < .username
    password = trim
  }
  evalErrors {
    password.twice = You must enter the password twice.
    password.atLeast = There must be at least %s characters in your password!
    email.email = The email address is not validly formed. Must contain @ and a domain
    username.uniqueLocal = The username exists already. Please select another one.
    username.atLeast = There must be at least %s characters in your username!
  }
  pid = {$plugin.feadmin.fe_users.pid}
  fe_userOwnSelf = 0
  fe_userEditSelf = 1

  cObjects.LOGIN = < tt_content.login.20

  email.from = {$plugin.feadmin.fe_users.email}
  email.fromName = {$plugin.feadmin.fe_users.emailName}
  email.admin = {$plugin.feadmin.fe_users.email}
  email.field = email
}

#----------------------------------------------------------
#-------------Definition des einfachen Login-----------
#----------------------------------------------------------

# Loginbox auf allen Seiten, wird innerhalb der Seite zugewiesen 
[usergroup = *] 
# Logout 
temp.10 = TEXT 
temp.10.data  = TSFE : id 
temp.10.wrap (  
<div id="logoutbox"> 
<form action="index.php?id= | " method="post" style="margin-top:0pt; margin-bottom:0pt"> 
<table valign="center"  border="0" cellspacing="0" cellpadding="0" width="180px"><tr><td><a href="index.php?id=135"><img src="fileadmin/templates/images/work.gif" border="0" alt="Profil bearbeiten" /></a></td><td>
<input type="hidden" name="logintype" value="logout" /> 
<input type="text" disabled notab value=<!--###USERNAME###--> style="height:18; width:135; font-size:10px; background-color:#CFE0FF; border:solid 1px #A0A0A0;" /></td>
<td align="right" ><input type="image" name="submit" title="Abmelden" src="fileadmin/templates/images/locked.gif" alt="Logout"  />
</td></tr></table>
</form>
</div>
) 

[else] 
# Login, Id 12 ist die Anmeldeseite, Id 14 ist der Sys-Ordner Benutzer 
temp.10 = TEXT 
temp.10.data  = TSFE : id 
temp.10.wrap ( 
<div id="loginbox"> 
<form action="index.php?id=12" method="post" style="margin-top:0pt; margin-bottom:0pt"> 
<table valign="center"  border="0" cellspacing="0" cellpadding="0" width="180px"><tr><td>
<input name="user" type="text" id="user" title="Benutzername" onfocus="if (this.value==this.defaultValue) this.value=''" value="Name" style="height:18; width:97; font-size:10px;" /> 
<input type="password" name="pass" id="pass" title="Passwort" onfocus="if (this.value==this.defaultValue) this.value=''" value="1234" style="height:18; width:51; font-size:10px;" /> 
</td>
<td align="right" ><input type="image" name="login" title="Anmelden" src="fileadmin/templates/images/lock.gif" alt="Login"  /> 
<input type="hidden" name="redirect_url" value="index.php?id= | " /> 
<input type="hidden" name="logintype" value="login" /> 
<input type="hidden" name="pid" value="14" /> 
</td></tr></table>
</form> 
</div> 
) 
[global]

#----------------------------------------------------------
#-------------Definition der newloginbox---------------
#----------------------------------------------------------

plugin.tx_arotealoginbox_pi1 {
  pidLoginpage = 12
  pidUserstorage = 17
  templateFile = fileadmin/templates/design.html
}

plugin.tx_newloginbox_pi1 {
     detailsPage = 12
     email_from = webmaster@porsche-diesel-club.de
     email_fromName = Porsche-Diesel-Club Europa e.V.
     replyTo = webmaster@porsche-diesel-club.de
     tableParams_details = border="0"
}
plugin.tx_newloginbox_pi1._CSS_DEFAULT_STYLE (
)
plugin.tx_newloginbox_pi1._LOCAL_LANG.default {
}
plugin.tx_newloginbox_pi1._DEFAULT_PI_VARS {
}


plugin.tx_newloginbox_pi3 {
    CMD = 12
    pidList = 14
    recursive = 
    tableParams_details = border="0" cellpadding="1" cellspacing="2" style="width: 90%;"
}
plugin.tx_newloginbox_pi3.listView {
    results_at_a_time = 50
    maxPages = 20
    show.email = 1
    show.email_in_details = 1
    show.email_in_details_when_logged_in = 1
    alwaysPrev=1
    tableParams_list = 
}
plugin.tx_newloginbox_pi3._CSS_DEFAULT_STYLE (
)
plugin.tx_newloginbox_pi3._LOCAL_LANG.default {
}
plugin.tx_newloginbox_pi3._DEFAULT_PI_VARS {
}


#----------------------------------------------------------
#-------------Definition der  FE User anmeldung-------
#---------------------------------------------------------- 
plugin.tx_srfeuserregister_pi1 { 
  templateFile = EXT:sr_feuser_register/pi1/tx_srfeuserregister_pi1_tmpl.tmpl 
  wrap1.wrap = <b> | </b> 
  wrap2.wrap = <font color="red" ><b> | </b></font>  
  wrap3.wrap = <em> | </em> 
  color1.wrap = #cccccc 
  color2.wrap = #999999  
  color3.wrap = #333333 
  icon_delete = EXT:sr_feuser_register/pi1/icon_delete.gif 
  pid = 14
  registerPID =  133 
  editPID =  135
  confirmPID =  136
  confirmType =  
  loginPID = 12 
  defaultCODE =  
  formName = fe_users_form
  onChangeCountryAttribute = javascript:window.document.forms['fe_users_form'].submit(); 
  addAttachment =  0 
  addAttachment.cmd = setfixed 
  addAttachment.sFK = APPROVE 
  addAttachment.file = EXT:sr_feuser_register/pi1/tx_srfeuserregister_pi1_sample.txt 
  create = 1 
  create { 
    preview = 1
    fields = username,password,first_name,last_name,date_of_birth,email,usergroup,address,city,zone,static_info_country,zip,telephone,language,title,company,www,module_sys_dmail_html,disable 
    required = username,password,first_name,last_name,email 
    defaultValues { 
       module_sys_dmail_html = 0 
       disable = 1 
       } 
    overrideValues { 
      usergroup = 
      disable = 1 
      } 
    evalValues { 
    password = twice, atLeast[6], atMost[40] 
    username = uniqueLocal, atLeast[6], atMost[50] 
    email = email,atMost[255],uniqueLocal 
    name = atMost[80] 
    first_name = atMost[50] 
    last_name = atMost[50] 
    date_of_birth = date 
    company = atMost[4] 
    city = atMost[40] 
    zip = atMost[20] 
    telephone = atMost[25] 
    fax = atMost[25] 
    image = upload 
    title =  
    address =  
    www = wwwURL 
    } 
  } 

  setfixed = 1 
  setfixed.APPROVE { 
    _FIELDLIST = uid,pid,usergroup 
    usergroup = 4
    disable = 0 
    } 
  enableAutoLoginOnConfirmation = 0 
  autoLoginRedirect_url = 
  setfixed.DELETE { 
    _FIELDLIST = uid,pid 
    } 

  authcodeFields = uid 
  authcodeFields.codeLength = 8

  invite < .create 

  edit < .create 
  edit { 
    preview = 1
    defaultValues { 
      disable = 0 
      module_sys_dmail_html > 
      } 
    overrideValues { 
      username =  
      usergroup > 
      disable = 0 
      } 
    evalValues { 
       username = unsetEmpty 
       usergroup = unsetEmpty 
     } 
  } 

  infomail = 0 

  forceFileDelete = 1

  parseValues { 
    username = nospace,trim 
    email = lower,nospace,trim 
    password = trim,nospace 
    name = trim 
    first_name = trim 
    last_name = trim 
    date_of_birth = date 
    title = trim 
    company = trim 
    city = trim 
    zip = trim 
    image = files 
    module_sys_dmail_html = setEmptyIfAbsent  
    www = wwwURL 
    } 

  parseFromDBValues { 
    date_of_birth = adodb_date 
    } 
  parseToDBValues { 
    date_of_birth = adodb_date 
    } 

  email.from = webmaster@porsche-diesel-club.de
  email.fromName = Homepage des PORSCHE-DIESEL-Club Europa e.V.
  email.admin = webmaster@porsche-diesel-club.de 
  email.field = email 
  email.HTMLMail =  1 
  email.HTMLMailCSS =  EXT:sr_feuser_register/pi1/tx_srfeuserregister_htmlmail.css
  email.CREATE_SAVED = 1 
  email.EDIT_SAVED = 1 
  email.DELETE_SAVED =  1
  email.SETFIXED_APPROVE =  1 
  email.SETFIXED_DELETE =  1

  notify.CREATE_SAVED = 0 
  notify.EDIT_SAVED = 0
  notify.DELETE_SAVED =  1 
  notify.SETFIXED_CREATE = 0
  notify.SETFIXED_INVITE = 0 
  notify.SETFIXED_APPROVE =  0
  notify.SETFIXED_DELETE =  1

   _CSS_DEFAULT_STYLE ( 
     ) 

   _DEFAULT_PI_VARS { 
     } 

}


#----------------------------------------------------------
#-----------Definition des Seitenratings--------------
#----------------------------------------------------------

## Includes the ratingLib:
includeLibs.ts_rating = EXT:tt_rating/pi/class.tx_ttrating.php
## Sets up the fields, that may be submitted in order to create items. Mandatory!
FEData.tt_rating {
  processScript = EXT:tt_rating/pi/rating_submit.inc
  allowEdit {
    rating = 1
    // following items are used to pass configuration to fe_tce.php, They are NOT fields
    // this may change later
    minRating = 1
    maxRating = 1
    ratingStatSteps = 1
    }
}  
## This enables the tt_content.list item to display rating:
plugin.tt_rating >
plugin.tt_rating = USER
plugin.tt_rating {
  userFunc = tx_ttrating->main_rating
  pid_list.field = pages
  code.field = select_key
  allowNew = 1
  defaultCode = VOTEFORM, RESULT
    //used if you allowNew
  defaultTitle = rating
  defaultDescription =
    // the best and the worst rating value
  highestRating = 5
  lowestRating = 1
    // normally the same as in your voteform
  ratingStatSteps = 1
    // the length of a bar or similiar
  ratingOutputWidth = 15
  submittedRatingMsg = <br/>Ihre Wertung für diese Seite: <b>###SUBMITTED_RATING###</b><br/>Vielen Dank für Ihre Meinung!
  doubleRatingMsg = <br/>Sie haben diese Seite bereits bewertet.
  wrap = <table width="220px" align="center" border="1" border:solid 1px #A0A0A0;"  cellspacing="0" cellpadding="2" class="wertung" style="margin-top:10px; margin-bottom:10px;" ><tr><td><table  ><tr><td><p class="INFOBEREICH"><strong>Umfrage zur Homepage:</strong><br/>Wie gefällt Ihnen der Inhalt <u>dieser</u> Seite? - Zeigen Sie uns bitte Ihre Meinung...</p></td></tr><tr><td> | </td></tr></table></td></tr></table>
  voteform < tt_content.mailform.20 
  voteform.layout = <td>###FIELD###</td>
  voteform.stdWrap.wrap = <table border=0 cellspacing=0 cellpadding=0><tr>  |  <td> <input type="image" name="formtype_db" src="fileadmin/templates/images/vote.gif" alt="Seiten-Beurteilung"/><input type="hidden" name="formtype_db" value="5"/></td></tr></table> 
  voteform.data >
  voteform.dataArray {
    10.label =
    10.type = *data[tt_rating][EDIT][rating]=select 
    10.value =  auswahl=0, 5 - super, 4 - gut=4, 3 - geht so=3, 2 - gerade so=2, 1 - ungenügend=1
  }
  voteform.params = style="height:18; font-size:10px;"
  voteform.no_cache=1
  voteform.noValueInsert=1
  voteform.wrap =

  noRatingObj = TEXT
  noRatingObj.value = <span class="wertung"> Noch keine Wertungen...</span>
  noRatingObj.textStyle < styles.content.textStyle

  renderObj = COA
  renderObj.stdWrap.wrap =  </td></tr><tr><td> |
  renderObj {
    10 = IMAGE
    10.file = GIFBUILDER
    10.file {
      backColor = #CFE0FF
      transparentBackground = 1
      XY = [10.w]*5,[10.h]
      10 = IMAGE
      10 {
        file = EXT:tt_rating/pi/star_grey.gif
        mask = EXT:tt_rating/pi/star_mask.gif
        tile = 5,0
      }
      15 = WORKAREA
      15.set = 0,0,###RATING_MUL###*[10.w]*5,[10.h]
      20 = IMAGE
      20 {
        file = EXT:tt_rating/pi/star.gif
        mask = EXT:tt_rating/pi/star_mask.gif
        tile = 5,0
      }
    }
    20 = TEXT
    20.value =  <span class="wertung"><b>###RATING###</b> (###VOTES### Stimmen)</span>
    20.textStyle < styles.content.textStyle
    30 = TEXT
    30.value = <span class="wertung">###RATING_MSG###</span>
    30.required = 1
    30.wrap =
    30.textStyle < styles.content.textStyle
  }
}

## This enables the tt_content.record item to display rating items:
tt_rating >
tt_rating = < plugin.tt_rating
tt_rating.displayCurrentRecord = 1

#----------------------------------------------------------
#----------Definition der Mehrsprachigkeit-------------
#----------------------------------------------------------

config.linkVars = L
config.sys_language_uid = 0
config.language = de

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

temp.languagede = COA
temp.languagede  {
     10 = IMAGE
     10 {
        file = media/flags/flag_de.gif 
        alttext = Deutsch
        linkWrap= <a href=index.php?id=1&L=0>|</a>
     }
}
temp.languageuk = COA
temp.languageuk  {
     20 = IMAGE
     20 {
        file = media/flags/flag_uk.gif 
        alttext = English
        linkWrap= <a href=index.php?id=1&L=1>|</a>
     }
}

#----------------------------------------------------------
#-------------Definition der 3 Menues-------------------
#----------------------------------------------------------

# Menu 1 cObject
temp.menu_1 = HMENU
# First level menu-object, textual
temp.menu_1.1 = TMENU
temp.menu_1.1 {
   # Normal state properties
   NO.allWrap = <div class="menu1-level1-no"> | </div>
   # Enable active state and set properties:
   ACT = 1
   ACT.allWrap = <div class="menu1-level1-act"> | </div>
}


# Menu 2 cObject
temp.menu_2 = HMENU
temp.menu_2.entryLevel = 1
# Second level menu-object, textual
temp.menu_2.1 = TMENU
temp.menu_2.1 {
   # Normal state properties
   NO.allWrap = <class="menu2-level2-no"> | </>
   # Enable active state and set properties:
   ACT = 1
   ACT.allWrap = <u class="menu2-level2-act"> | </u>
}

# Menu 3 cObject
temp.menu_3 = HMENU
temp.menu_3.entryLevel = 2
# Third level menu-object, textual
temp.menu_3.1 = TMENU
temp.menu_3.1 {
   # Normal state properties
   NO.allWrap = <div class="menu3-level3-no"> | </div>
   # Enable active state and set properties:
   ACT = 1
   ACT.allWrap = <div class="menu3-level3-act"> | </div>
}

#----------------------------------------------------------
#----------Definition des Autoparser Modules----------
#----------------------------------------------------------


# Configuring the Auto-Parser:
plugin.tx_automaketemplate_pi1 {
  # Read the template file:
  content = FILE
  content.file = fileadmin/templates/design.html
    
  # Here we define which elements in the HTML that
  # should be wrapped in subpart-comments:
  elements {

       BODY.all = 1
       BODY.all.subpartMarker = DOCUMENT_BODY

       HEAD.all = 1
       HEAD.all.subpartMarker = DOCUMENT_HEADER
       HEAD.rmTagSections = title

       TD.all = 1
   }
  

  # Prefix all relative paths with this value:
  relPathPrefix = fileadmin/templates/
}

# Main TEMPLATE cObject for the BODY
temp.mainTemplate = TEMPLATE
temp.mainTemplate {
   # Feeding the content from the Auto-parser to the TEMPLATE cObject:
   template =< plugin.tx_automaketemplate_pi1
   # Select only the content between the <body>-tags
   workOnSubpart = DOCUMENT_BODY
   # Substitute the ###menu_1### subpart with dynamic menu:
   subparts.menu_1 < temp.menu_1
   # Substitute the ###menu_2### subpart with dynamic menu:
   subparts.menu_2 < temp.menu_2
   # Substitute the ###menu_3### subpart with dynamic menu:
   subparts.menu_3 < temp.menu_3
   # Substitute the ###content### subpart with some example content:
   subparts.content < styles.content.get
   # Substitute the ###seitentitel### subpart with some example content:
   subparts.seitentitel = TEXT
   subparts.seitentitel.field = title
   # Substitute the ###border### subpart with some example content:
   subparts.border < styles.content.getBorder
   # Substitute the ###suche### subpart with some example content:
   subparts.suche < plugin.tx_macinasearchbox_pi1
   # Substitute the ###login### subpart with some example content:
   subparts.login < temp.10
   # Substitute the ###language### subpart with some example content:
   subparts.languagede < temp.languagede
   subparts.languageuk < temp.languageuk
   # Zuweisung des Links zur Druckversion 
   subparts.druck = COA 
   subparts.druck.30 = TEXT 
   subparts.druck.30.field = uid 
   subparts.druck.30.wrap = <a href="index.php?id= |&type=98" target="_blank"><img src="fileadmin/templates/images/drucker.gif" alt="Druckansicht" border="0"></a>
   # Zuweisung des Links zur PDFversion 
   subparts.pdf = COA 
   subparts.pdf.30 = TEXT 
   subparts.pdf.30.field = uid 
   subparts.pdf.30.wrap = <a href="index.php?id= |&type=123" target="_blank"><img src="fileadmin/templates/images/pdf.gif" alt="Inhalt als PDF-Datei ausgeben" border="0"></a>
   # Zuweisung des Links zum Rechtsausschuss
   subparts.legal = HTML
   subparts.legal.value = <a href="http://www.pdce.de/rechtshinweis.html">© 1999-2007 PORSCHE-DIESEL-Club Europa e.V. Alle Rechte vorbehalten. Rechtliche Hinweise.</a>
   # Änderungsdatum ausgeben 
   subparts.date = COA 
   subparts.date.10 = TEXT 
   subparts.date.10.field = SYS_LASTCHANGED 
   subparts.date.10.date = j.m.Y 
   subparts.date.10.wrap = <b>Info</b></td><td class="datumslink"><a href=index.php?id=138> | </a>
   # User online ausgeben 
   subparts.useronline =< plugin.tx_khusersonline_pi1
}

# Main TEMPLATE cObject for the HEAD
temp.headTemplate = TEMPLATE
temp.headTemplate {
   # Feeding the content from the Auto-parser to the TEMPLATE cObject:
   template =< plugin.tx_automaketemplate_pi1
   # Select only the content between the <head>-tags
   workOnSubpart = DOCUMENT_HEADER
}

# Default PAGE object:
page = PAGE
page.typeNum = 0
# Copying the content from TEMPLATE for <body>-section:
page.10 < temp.mainTemplate
page.headerData.10 < temp.headTemplate

#----------------------------------------------------------
#-----------Definition der Druck- und PDF-Ansicht-----
#----------------------------------------------------------

alt_print >
alt_print = PAGE
alt_print.typeNum=98
alt_print.stylesheet = fileadmin/templates/res/stylesheet-porsche-clubs.css
alt_print.bodyTag = <body topmargin="10" leftmargin="10">
alt_print.10 = TEXT
alt_print.10.value = <strong>Copyright by PORSCHE-DIESEL-Club Europa e.V. - www.porsche-diesel-club.de</strong><br/>Der Autor übernimmt keinerlei Gewähr für die Aktualität, Korrektheit, Vollständigkeit oder Qualität der bereitgestellten Informationen.
alt_print.10.wrap = <p align="center" class="bodytext"> | </p>
alt_print.20 = HTML
alt_print.20.value = <form action=""><table align="center"><input type="button" value="Fenster schließen - Close window" onClick="self.close()"></table></form>
alt_print.30 = TEXT
alt_print.30.wrap = <p class="bodytext"><strong> | </strong></p><br/>
alt_print.30.field = title
alt_print.40 < styles.content.get
alt_print.50 = TEXT
alt_print.50.value = Info
alt_print.50.wrap = <br/><p class="bodytext"><strong> | </strong></p>
alt_print.60 < styles.content.getBorder

pdf_generator {
	10 = TEXT
	10.value = <font face=courier><strong>Copyright by PORSCHE-DIESEL-Club Europa e.V. - www.porsche-diesel-club.de</strong>
	10.wrap = <p> | </p>
	10 = TEXT
	10.value = Der Autor übernimmt keinerlei Gewähr für die Aktualität, Korrektheit, Vollständigkeit oder Qualität der bereitgestellten Informationen.
	10.wrap = <p> | </p>
	30 = TEXT
	30.wrap = <p><strong> | </strong></p><br/>
	30.field = title
	40 < styles.content.get
	50 = TEXT
	50.value = Info
	50.wrap = <br/><p class="bodytext"><strong> | </strong></p></font>
	60 < styles.content.getBorder
}


#----------------------------------------------------------
#-------------Definition des Indexed Search------------
#----------------------------------------------------------

plugin.tx_indexedsearch {
  show {
    rules=1
	parsetimes=0
	L2sections=0
	L1sections=1
	LxALLtypes=0
    clearSearchBox = 0
    clearSearchBox.enableSubSearchCheckBox=0
  }

   # Blinding of option-selectors / values in these (advanced search) (see $optValues array in source code for options + extResume checkbox)
  blind {
    type=0
	defOp=0
	sections=0
	media=0
	order=0
	group=0
	lang=0
	desc=0
	results=0
	
#	defOp.1=1
#	extResume=1
  }
  rules_stdWrap {
  }
  sectionlinks_stdWrap {
  }
  path_stdWrap {
  }
  search {
    rootPidList = 
    page_links = 10
  }

  result_link_target =

  
  tableParams {
    secHead = border=0 cellpadding=0 cellspacing=0 width="100%"
    searchBox =  border=0 cellpadding=0 cellspacing=0
	searchRes =  border=0 cellpadding=0 cellspacing=0 width="100%"
  }
  
   # Setting default values for piVars (please see the source code for the form-field names which you can preset values for here)
  _DEFAULT_PI_VARS.extResume=1
  _CSS_DEFAULT_STYLE (
  )
  _LOCAL_LANG {
  }
}


#----------------------------------------------------------
#------------------Definition der FAQ--------------------
#----------------------------------------------------------

tt_content.list = COA 
tt_content.list.10 = < lib.stdheader 
tt_content.list.20 = CASE 
tt_content.list.20.key.field = list_type 
tt_content.list.20 { 
  98 = CASE 
  98.key.field = layout 
  98.0 = < plugin.faq
}


includeLibs.ts_faq= EXT:faq/pi/class.tx_faq.php

plugin.faq> 
plugin.faq = USER 
plugin.faq { 
  userFunc = tx_faq->main_faq

    
  templateFile = {$plugin.faq.file.templateFile}
  pid_list.field = pages 
  recursive.field = recursive 
  code.field = select_key 
  
    general_stdWrap { 
    brTag = <BR> 
    parseFunc < styles.content.parseFunc 
  } 

  backPID = {$plugin.faq.backPid} 
  PIDsearch =  
  PIDitemDisplay = {$plugin.faq.PIDItemDisplay}
  displaySingleRelatedPagesHeader = {$plugin.faq.RelatedPagesHeader}
  displaySingleRelatedLinksHeader = {$plugin.faq.RelatedLinksHeader}
  pageTypoLink.parameter.current = 1 
  
  ###related Page   
  getPageCObject = COA 
  getPageCObject { 
    10 = TEXT 
    10.field = title 
    10.typolink.parameter.field = uid 
  } 
  



  displaySingle {     
    title_stdWrap.wrap = | 
    
    imageCount=2 
    imageWrapIfAny = <table border=0 cellpadding=0 cellspacing=0 align=right width=1><tr><td><img src=clear.gif width=15 height=1></td><td>|</td></tr></table> 

    
    caption_stdWrap.wrap = <font color=navy face=verdana size=1>|</font><BR><BR> 
    caption_stdWrap.trim=1 
    caption_stdWrap.required=1 
  }
   
  displaySingle.image { 
    file.maxW = {$plugin.faq.Single_maxImage_Width} 
    wrap = | <BR> 
    imageLinkWrap = 1 
    imageLinkWrap { 
      enable = 1 
      bodyTag = <BODY bgColor=white> 
      wrap = <A href="javascript:close();"> | </A> 
      width = 400m 
      height = 400 

      JSwindow = 1 
      JSwindow.newWindow = 1 
      JSwindow.expand = 17,20 
    } 
    stdWrap.spaceAfter=10 
  } 

  
  displayList { 
    caption_stdWrap.wrap = <font face=verdana size=1 color=navy>|</font><BR> 
    caption_stdWrap.trim=1 
    caption_stdWrap.required=1 
    subheader_stdWrap.crop = 20 | ... 
    subheader_stdWrap.ifEmpty.field = bodytext 
    imageCount=1 
    imageWrapIfAny =  
  } 
  displayList.image < displaySingle.image 
  displayList.image { 
    file.maxW = 200 
    imageLinkWrap = 1 
    stdWrap.spaceAfter=5 
  } 
} 



faq > 
faq = < plugin.faq 
faq.displayCurrentRecord = 1


#----------------------------------------------------------
#---------------Definition des Boardes------------------
#----------------------------------------------------------

plugin.tx_chcforum_pi1 {
	# Wraps and HTML strings used in the forum

	// opening string for CODE wraps in posts
	fcode_tpl.code_open = <div class="offset"><div class="codeAuthor"><span class="codeHdr"><strong>{L_CODE}:</strong></span></div><div class="codeCell">
	// closing string for CODE wraps in posts
	fcode_tpl.code_close = </div></div>

	// template string for URL links in posts
	fcode_tpl.url = <a href="{URL}" target="_blank">{DESCRIPTION}</a>

	// opening string for color HTML in posts
	fcode_tpl.color_open = <span style="color: {COLOR}">
	// closing string for color HTML in posts
	fcode_tpl.color_close = </span>

	// opening string for text size HTML in posts
	fcode_tpl.size_open = <span style="font-size: {SIZE}px; line-height: normal">
	// closing string for text size HTML in posts
	fcode_tpl.size_close = </span>

	// template string for email links in posts
	fcode_tpl.email = <a href="mailto:{EMAIL}">{EMAIL}</a>

	// template string for image HTML in a post
	fcode_tpl.img = <img src="{URL}" border="0" />

	// opening string for quoted text without an author name
	fcode_tpl.quote_open = <div class="offset"><div class="quoteCell">
	// opening string for quoted text with an author name
	fcode_tpl.quote_author = <div class="offset"><div class="quoteCellAuthor">{AUTHOR}</div><div class="quoteCell">
	// closing string for quoted text without an author name
	fcode_tpl.quote_close = </div></div>

	// template string for last post info as displayed in all categories view
	posts.post_info_string.all_cats = {DATE}, {TIME}<br />{IN} {THREAD_LINK}<br />{BY} {AUTHOR_LINK}<br />

	// template string for last post info as displayed in single conference view
	posts.post_info_string.single_conf = {DATE}, {TIME}<br />{POSTED} {AGE} {AGO}<br />{BY} {AUTHOR_LINK}<br />

	// wrap for form in single conference preview view
	single_conf.preview.form.wrap = |<br />
	// wrap for form in single thread preview view
	single_thread.preview.form.wrap = |<br />

	# example of how to set a default conference via typoscript.
	# this might be useful if you wanted to make the forum start
	# at a certain conference on a certain page, for example. 
	# Any value that you can pass via the get/post vars can be
	# set here. This configuration, for example, would make the
	# forum display, by default, the conference view for the 
	# conference with the uid of 2. This would not restrict use
	# to this conference -- it would only set the default view.
  // gpvars.view=single_conf
  // gpvars.cat_uid=1
  // gpvars.conf_uid=2

}

plugin.tx_chcforum_pi1._CSS_DEFAULT_STYLE (
)

#----------------------------------------------------------
#---------------Definition des Calendar-----------------
#----------------------------------------------------------
plugin.tt_calender >
plugin.tt_calender = PHP_SCRIPT
plugin.tt_calender {
  file =  EXT:tt_calender/pi/calendar.inc
  templateFile = fileadmin/templates/calendar.tmpl
  pid_list.field = pages
  recursive.field = recursive
  fontFace = {$plugin.tt_calender.fontFace}
  maxAge = {$plugin.tt_calender.maxAge}
  parseFunc < styles.content.parseFunc
}

Hast Du evtl. einen weiteren Tip?

Beste Grüße
Torsten

Unbekannter Benutzer ·

Hallo,

laut deinem TS verwendest du CSS Styled Content. Das wurde upgedatet um barrierefrei zu werden. Du kannst aber den alten Rendermodus mit Tabellen wieder herstellen. Probier dazu folgendes:

setz ganz oben in dein TS Setup diese Zeile:

tt_content.image.20.renderMethod = table

Dann den Cache leeren und gucken ob es was bringt...

Grüße

Christian

torst.​ ·

Hallo Christian,

danke für den Tipp!

Allerdings funktioniert die Umbruchfunktion des Textes um die Bilder nicht.

Gibt es eine Möglichkeit, die alte Darstellung der Seite wieder zu bekommen? Es kann doch eigentlich nicht sein, dass ein Update der Grundversion alle CSS-Programmierungen hinnfällig werden lässt?

Was würde Eurer Meinung nach in etwa ein Freelanzer auf Rechnung kosten, der die Seite auf Vordermann bringt? Ich werde es zeitlich definitiv nicht noch mal schaffen mich um die Neuprogrammierung zu kümmern, zumal ich nur ein gefährliches Halbwissen habe.

Hier ist eine praktikable Lösung gefragt.

Beste Grüße
Torsten

Unbekannter Benutzer ·

Hallo Torsten,

also ein weiterer Tipp wäre, dass du die CSS_styled_content der alten Version wieder installierst... Das könnte klappen.

Ansonsten können wir uns gerne mal per PM oder Mail (christian@kitsunet.de) unterhalten, ich bin ja Freelancer. ;-)

Viele Grüße

Christian

torst.​ ·

Hallo Christian,

habe schon intensiv nach einer altern Version von css styled content gesucht und leider nicht gefunden. Hast Du einen Tip für mich?

Beste Grüße
Torsten

torst.​ ·

Hallo Christian,

danke für Deine Unterstützung. Ich konnte noch das alte CSS styled content von unserer alten HP herunterladen und installieren - leider ohne Erfolg. 🙁

Jetzt ist auch noch etwas mit den Schriftsätzen schiefgegangen. Ich werde dem Verein vorschlagen die Sache an einen versierten TYPO3-Freelancer zu vergeben. SQL und ähnliches sind nicht mein Ding...

Ich werde u.a. auch auf Dich mit einer Anfrage zukommen.
Teilpakete werden sein:
1. Integration der Datenbank in die neue TYPO3 4.0.4
2. Anpassen des oben aufgeführten Typo script und dem CSS sheet auf Barrierefreiheit.
3. Optimierung der Seitenprogrammierung nach Bestandsaufnahme.
Alles unter Einhaltung strenger CI Richtlinien der Porsche AG.

Da wir ein Verein sind, muss ich alles natürlich vorher absegnen lassen. Alles weitere gerne über Mail: webmaster@porsche-diesel-club.de

Beste Grüße
Torsten

PS: Ich sehe damit den Thread zwar nicht als gelöst aber leider als geschlossen an. (TYPO3 ist für meine Situation zu komplex, wenn man sich nicht intensiv mit den verwendeten Sprachen auskennt. Trotzdem mein Favorit als Platform. 🙂 )