Zum Inhalt springen

XHTML 1.0 - wie bekomme ich es W3C-konform?

Erstellt am 6. Februar 2006 · 9 Antworten · letzte Antwort am 6. Februar 2006

Tags: Frage, TYPO3 3

ricci007 ·

Hallo @ll,

ich bin zwar kein Anfaenger mehr, was T3 angeht, aber bisher habe ich die Fehler von W3C einfach immer ignoriert :o . Doch diesmal habe ich eine Vorgabe, nur ich bekomme es einfach nicht gebacken 🙁 .

Habe hier im Forum das ganze WE gesucht und gelesen, CSet ins Static Template importiert, aber was soll ich ueberschreiben? Die Ausgabe von W3C ist fuer mich etwas verwirrend 🙁 .

Es geht um http://www.ludwig-erhard-schule.de. Aber http://validator.w3.org meldet 13 Fehler, aber irgendwie weisz ich nicht, wo ich ansetzen soll ;-(

Folgendes steht im TS:

config.doctype = xhtml_trans
config.xhtml_cleaning = all
config.htmlTag_langKey = de_DE

Kann mir jemand vielleicht ein paar Tipps geben, wie ich die restlichen Fehler ausmerzen kann?

Tausend Dank schon im Voraus!!!!!

LG

ricci007

P.S.: Ich verwende T3 3.7.1!

ricci007 ·

Okay, ich werde es heute Abend mal probieren 😃

Wenn ich die Seite W3C-konform bekomme, werde ich mal eine ausfuehrliche Anleitung schreiben, so viele Posts zu dem Thema im Forum und keine ausfuehrliche Anleitung dazu 🙁 .

Danke!

ricci007

Unbekannter Benutzer ·

die extensions bringen meiner Meinung nach nicht allzuviel, man bekommt die Seiten auch so valid hin.

Hab mir das mal angesehen, eine ganze Menge von den Fehlern sind hausgemacht, z.B.

<body bgcolor="#FFFFFF">

<!--(c)2006 by Philippe Stellwag

Kommentar wird nicht geschlossen, das erzeugst Du vermutlich aus TypoScript oder Deiner HTML Vorlage

<a name="1"></a>

Die automatischen Textanker bekommst Du so weg:

tt_content.stdWrap.dataWrap =
tt_content.noANameTagForFirstRecord = 1

Dann folgendes bei Dir im Code:

<p>&nbsp;</p><!--TYPO3SEARCH_end--></p>

p-Tag geht 2mal zu, ebenfalls in Deinem TS oder HTML Template falsch.

Dann bleiben noch die Tabellenfehler und fertig ist.

Einzig zu beachten: der XML prologue macht manchmal Probleme, ggf über config.xmlprologue = none entfernen.

Eine richtige Anleitung brauchts eigentlich nich - um XHTML-valid zu bekommen muss man nur sorgfältig arbeiten und die Fehler vom Validator abarbeiten.

Dein Code schaut mir ein bisschen schlampig aus (sorry), aber extrem viel was eigentlich Standard bei Typo3 Implementierungen ist wurde da nicht gemacht (inline css von extensions noch drin, blur JS in den Menüs drin etc. das gehört alles erst mal aufgeräumt). Das würd ich erst mal angehen, dann die Validator Fehler abarbeiten und fertig ist die XHTML Validität.

Viele Grüße
Niki

ricci007 ·

Hmm, an den 13 Fehlern aendert sich einfach nichts, egal was ich tue 🙁

Constants:

# content settings
#
content.linkToTop = <a href="#top"><img align="right" src="fileadmin/images/top.gif" border="0" alt="" /></a><br />
content.wrap.header = |<br /><br />
content.wrap.headerDate = <font face="verdana" size="1"> | </font><br />
#content.stdWrap.dataWrap =
#content.noANameTagForFirstRecord = 1 

# misc settings
#
content.pageFrameObj =
PAGE_TARGET = _self

# plugin settings
#
plugin.tx_eeblog.moderatorEmail = spam@spam.de
plugin.tx_eeblog.moderatePosts = 1

SETUP:

# general template
#
page = PAGE
page.typeNum = 0
page.stylesheet = fileadmin/css/style.css

# misc configs
#
config.intTarget = _self
config.extTarget = _blank
config.language = de
config.locale_all = de_DE
config.doctype = xhtml_trans
config.xhtml_cleaning = all
#config.xmlprologue = none
config.htmlTag_langKey = de_DE
config.simulateStaticDocuments = 1
config.simulateStaticDocuments_noTypeIfNoTitle = 1
styles.content.links.target = _self
styles.content.links.intTarget = _self

page.10 = TEMPLATE
page.10 {

  # define html-template
  #
  template = FILE
  template.file = fileadmin/les_index.html

  # fill in the content
  #
  marks.CONTENT < styles.content.get
  #marks.CONTENT.wrap = <!--TYPO3SEARCH_begin--> | <!--TYPO3SEARCH_end-->

  # substitute copy tag
  #
  marks.COPYRIGHT = TEXT
  marks.COPYRIGHT.value = © 2006 <a href="mailto:spam@spam.de">Mein Name</a> in Kooperation JMD | Version 2006-02-04_1.00 | Made with ECMS <a href="http://www.typo3.org" target="_blank">Typo3</a>.

  # substitute ROOT path
  #
  marks.ROOT = HMENU
  marks.ROOT {
     special = rootline
     special.range = 1
     1 = TMENU
     1.NO {
        linkWrap = <font size="-1">> | </font>
        expAll = 1
     }
  }

  # print the hor. navigation
  #
  marks.HOR_NAV = TEXT

  marks.HOR_NAV.value = <a href="news.html">News</a> | <a href="kontakt.html">Kontakt</a> | <a href="impressum.html">Impressum</a> | <a href="faq.html">FAQ</a>

  # print the menu
  #
  marks.NAVIGATION = HMENU
  marks.NAVIGATION {
    entryLevel = 0
    1 = TMENU
    1 {
       expAll=0
       ACT=1
       NO=1
       NO.allWrap = <br />   <b> | </b><br />
       ACT.allWrap = <br />   <b> | </b><br />
    }

    2 = TMENU
    2 {
       ACT=1
       NO=1
       NO.allWrap =   <img src="fileadmin/images/plus.gif" alt="" /> | <br />
       ACT.allWrap =   <img src="fileadmin/images/minus.gif" alt="" /> | <br />
    }

    3 = TMENU
    3 {
       ACT=1
       NO=1
       NO.allWrap =     <img src="fileadmin/images/leer.gif" alt="" /> | <br />
       ACT.allWrap =     <img src="fileadmin/images/leer.gif" alt="" /> | <br />
    }
  }
}

# headerDate settings
#
lib.stdheader {  
  5 = TEXT
  5.field = date
  5.if.isTrue.field = date
  5.date = d.m.Y
  5.wrap = {$content.wrap.headerDate}
}

Und mein HTML-Template:

<a name="top"></a>
<table align="center" bgcolor="#ffffff" border="0" cellspacing="0" width="800">
    <tr>
      <td width="15"> </td>
      <td colspan="2" rowspan="1" width="770">
      <div align="right">###HOR_NAV###</div>
      <img src="fileadmin/images/les_header.jpg" alt="LES" /> </td>
      <td style="vertical-align: top;"><br />
      </td>
    </tr>
    <tr>
      <td width="15"> </td>
      <td align="left" bgcolor="#ffffff" valign="top" width="250">
      <p>###NAVIGATION###</p>
      <p> </p>
      <p align="center"><b>LES</b><br />Straße 15<br />99999 Ort</p>
      <p> </p>
      </td>
      <td align="left" valign="top" width="520">
      <p>###ROOT###</p>
      <p>###CONTENT###</p>
      <p> </p>
      </td>
      <td width="15"> </td>
    </tr>
    <tr>
      <td width="15"> </td>
      <td colspan="2">
      <div id="copy" align="center">###COPYRIGHT###</div>
      </td>
      <td width="15"> </td>
    </tr>
</table>

Ich drehe hier noch durch :x

LG

ricci007

ricci007 ·
just2b schrieb

Probier mal die Ext qcom_htmlcleaner und stell diese auf xhtml

Die Ext. bringt auch keine Verbesserung mit sich :o 🙁 :x #angry#

Unbekannter Benutzer ·

schau meine Anmerkungen noch mal durch und beheb die Fehler. Die extension die kaputtes Zeug repariert gibts nicht.

Hier übrigens noch ein nützliches Code Snippet für Dich:

tt_content.text.20.parseFunc {
nonTypoTagStdWrap.encapsLines.encapsTagList = h2, h3, ul, ol, p
nonTypoTagStdWrap.encapsLines.remapTag.p =
}

Das schmeisst den p Tag der um Überschriften gelegt wird raus.

Vermutlich solltest Du auch an Deinem HTML Template noch Änderungen vornehmen, z.B.

<p>###CONTENT###</p>

Das hier könnte auch verantwortlich für den doppelten p tag sein.

Viele Grüße
Niki