Guten morgen,
momentan "baue" ich mir eine eigene Webseite. Hierzu setze ich contenido 4.6.15 mr ein. Das Modul Artikel Auto-Seitenwechsel von polycoder kommt ebenfalls zum Einsatz.
Auf der ersten Seite habe ich eine Tabelle eingesetzt. Nachdem ich im Html-Code <ins> vor bzw. </ins> nach der Tabelle eingefügt habe habe ich diese Seite valide hinbekommen. Die Folgeseite bekomme ich jedoch nicht valide. Zu sehen hier: http://c-schnitzler.eu/ueber-mich/ueber ... tml?page=1
Was mich wundert ist, dass Tags in der falschen Reihenfolge geschrieben werden, so kommt z.B. ein eröffnentes <p> vor einem abschliessenden </a>. Umgekehrt wäre es richtig.
Vielleicht könnt ihr mir helfen. Benutze ich den komplett falschen DOCTYPE, habe ich einen Fehler im CSS oder liegt es am Code des Moduls?
Vielen Dank für Eure Hilfe.
Grüße
Clemens
XHTML valider Code
-
- Beiträge: 137
- Registriert: Di 17. Aug 2004, 12:32
- Kontaktdaten:
XHTML valider Code
Zuletzt geändert von ClemensSchnitzler am Di 11. Sep 2007, 08:47, insgesamt 1-mal geändert.
-
- Beiträge: 184
- Registriert: Fr 17. Aug 2007, 12:15
- Kontaktdaten:
Wenn die Tags falsch herum geschlossen werden, liegt das wohl kaum an falschem CSS oder falscher Dokumenttyp Deklaration: CSS "sagt" ja nur, wie alles aussehen soll und die DTD, was valide ist.
Das kann letztlich mehrere Ursachen haben (je nach Verwendung): Zum einen kann ein Modul auf Modul-Templates zurückgreifen, die einfach nicht valide sind, zum anderen kann, wenn ein Modul selbst Code ausgibt (der Sinn oder Unsinn sei an dieser Stelle nicht in Frage gestellt), dieses natürlich nicht validen Code erzeugen, letztlich kann Dein Layout nicht valide sein oder aber es ist ein Bug bspw. im TinyMCE.
Auf der Seite, die Du als Link gepostet hast, sehe ich nur diesen Teil hier als Problem:
Da ist einfach ein </a>-Tag zu viel. Wenn das aus nem CMS_HTML-Modul kommt, dann liegt's wahrscheinlich an TinyMCE oder dessen Verwendung. Und was der Editor macht oder nicht, kann ich Dir leider nicht sagen...
Das kann letztlich mehrere Ursachen haben (je nach Verwendung): Zum einen kann ein Modul auf Modul-Templates zurückgreifen, die einfach nicht valide sind, zum anderen kann, wenn ein Modul selbst Code ausgibt (der Sinn oder Unsinn sei an dieser Stelle nicht in Frage gestellt), dieses natürlich nicht validen Code erzeugen, letztlich kann Dein Layout nicht valide sein oder aber es ist ein Bug bspw. im TinyMCE.
Auf der Seite, die Du als Link gepostet hast, sehe ich nur diesen Teil hier als Problem:
Code: Alles auswählen
<h2 class="content">... ein kleiner Auszug aus meinem Lebenslauf</h2>
<p></a>Nach der...
-
- Beiträge: 137
- Registriert: Di 17. Aug 2004, 12:32
- Kontaktdaten:
Genau die Stelle mit <p> vor </a> habe ich zitiert.
Ich benutze neben den Standardmodulen das hier von stese http://www.contenido.org/forum/viewtopi ... tenwechsel sonst nichts. Also kann es nur der Tinymce sein?
Kann mir jemand helfen wie ich das in den Griff bekomme?
Vielen, vielen Dank!
Gruss
Clemens
edit: ich arbeite mit Firefox 2.0.0.6 sowohl am Mac als auch am Windows-PC
Ich benutze neben den Standardmodulen das hier von stese http://www.contenido.org/forum/viewtopi ... tenwechsel sonst nichts. Also kann es nur der Tinymce sein?
Kann mir jemand helfen wie ich das in den Griff bekomme?
Vielen, vielen Dank!
Gruss
Clemens
edit: ich arbeite mit Firefox 2.0.0.6 sowohl am Mac als auch am Windows-PC
Was ist denn da genau?
Hallo Clemens.
Was sollte denn, laut Layout / Template an dieser Stelle alles sein? Ist da evtl. im Layout / Modul-Template eine Alt-Last drin geblieben?
Gruß,
Holger
Was sollte denn, laut Layout / Template an dieser Stelle alles sein? Ist da evtl. im Layout / Modul-Template eine Alt-Last drin geblieben?
Gruß,
Holger
-
- Beiträge: 137
- Registriert: Di 17. Aug 2004, 12:32
- Kontaktdaten:
Mein Layout sieht folgendermaßen aus:
Das Ganze spielt sich in <div class="wrapper"> ab und betrifft CMS_CONTAINER[15]. Diesem Container ist das Modul Article Semi-AutoPageBreak zugewiesen. Für die Modulausgabe habe ich den folgenden Code aus dem Modul-Thread verwendet, da ich den Originalcode überhaupt nicht zu laufen bekomme.
Im HTML-Quelltexteditor sieht meine Eingabe so aus:
Hier schein alles richtig zu sein. Wenn ich die Seite im Browser aufrufe scheint auf den ersten Blick auch alles richtig. Aber der Code ist nicht valide. Hier der entsprechende Code im Auszug:
Hier ist vor dem Text (Lindy's ...) eindeutig das </a> zuviel. Dies wird durch den Validator auch angemeckert. Nur wo muss ich im Code eingreifen um dies an dieser Stelle nicht zu haben?
Außerdem bekomme ich im Validator noch zwei Fehler angemeckert:
Auch hier kann ich keinen Fehler feststellen.
Altlasten scheinen keine vorhanden zu sein. Ich habe gestern abend das Modul dektiviert, gelöscht, die Tabelle con-code gelöscht und dann das Modul neu eingespielt und ins Template eingebunden. Das Ergebnis ist das gleiche, auch wenn die Seite jetzt vom Inhalt her anders aussieht.
Meines Erachtens kann es nur an dem Modul liegen. Wenn ich das Standard-Text-Modul einbinde, ist die Seite valide.
Gruss
Clemens
Code: Alles auswählen
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Clemens Schnitzler - Portfolio</title>
<link rel="shortcut icon" href="images/gfx/favicon.ico" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="css/thickbox.css" type="text/css" media="screen" />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/thickbox.js"></script>
</head>
<body>
<div id="gesamt">
<div id="header">
<h1><span>Clemens Schnitzler - Portfolio</span></h1>
</div>
<div id="navigation">
<ul>
CMS_CONTAINER[50]
</ul>
</div>
<div id="navigation2">
<ul>CMS_CONTAINER[40]
</ul>
</div>
<div id="content">
<div class="wrapper">
<ul class="mapping">
CMS_CONTAINER[110]
</ul>
CMS_CONTAINER[10]
CMS_CONTAINER[12]
CMS_CONTAINER[15]
</div>
</div>
<div id="footer">
<p class="copyright">© 2007 by <a href="kontakt.php">C. Schnitzler</a></p>
<p class="valid">
<a href="http://validator.w3.org/check?uri=referer"><img src="images/gfx/validxhtml.png" alt="valid XHTML 1.0" /></a>
<a href="http://jigsaw.w3.org/css-validator/validator?uri=http://c-schnitzler.eu/cms/css/style.css"><img src="images/gfx/validcss.png" alt="valid CSS 1+2" /></a></p>
<ul class="footernavi">CMS_CONTAINER[30]</ul>
</div>
</div>
</body>
</html>
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Article Semi-AutoPageBreak
* Author(s) : Stefan Seifarth <info@polycoder.de>
* Copyright : www.polycoder.de / www.htcm.de
* Created : 2006-06-17
************************************************/
// include pagebreak class
cInclude("frontend", "includes/class.articlepagebreak.php");
$strAnchorName = "CMS_VALUE[210]";
$strArticle = "CMS_HTML[1]";
if ($edit) {
print $strArticle;
} else {
$strDelimiter = '<a name="' . $strAnchorName . '"></a>';
// initialize class
// parameter delimiter for article spliting
$oArticlePageBreak = new ArticlePageBreak( $strDelimiter );
// set article
$oArticlePageBreak->setArticle( $strArticle );
// set current page for output
$intCurrentPage = 0;
if ( isset($_REQUEST[$oArticlePageBreak->strPageParameter]) && !empty($_REQUEST[$oArticlePageBreak->strPageParameter]) && (int)$_REQUEST[$oArticlePageBreak->strPageParameter] > 0 ) {
$intCurrentPage = (int)$_REQUEST[$oArticlePageBreak->strPageParameter];
}
$oArticlePageBreak->setCurrentPage($intCurrentPage);
// set Textlinks
$oArticlePageBreak->setTextFirstPage( mi18n("Erste Seite") );
$oArticlePageBreak->setTextPreviousPage( mi18n("Vorhergehende Seite") );
$oArticlePageBreak->setTextNextPage( mi18n("Nächste Seite") );
$oArticlePageBreak->setTextLastPage( mi18n("Letzte Seite") );
$oArticlePageBreak->setTextPreviousRange( mi18n("Zurück") );
$oArticlePageBreak->setTextNextRange( mi18n("Weiter") );
$oArticlePageBreak->setTextPageTitle( mi18n("Gehe zu Seite ") );
// output the current article part
print $oArticlePageBreak->getArticle();
print '<br /><br />';
// get pagination for article
print $oArticlePageBreak->getPagination();
/*
// xml output
// add custom xml tags
// (class xmlObject is located in class.articlepagebreak.php)
//
$oHeadline = new xmlObject(
"headline", // tag name
"", // attributes (given as array)
"headlinetext", // content of element
true // usage of cdata for content
);
// store the above configured tag into class
$oArticlePageBreak->setXMLAdditionalContentTag($oHeadline);
// output complete xml
print $oArticlePageBreak->getXMLComplete();
*/
}
?>
Code: Alles auswählen
<p>Lindy`s Cheese Cake halten die Amerikaner irrtümlich für einen
Ureinwohner ihres schönen Landes; er stammt aus dem Schwäbischen.
Dagegen hätten sie mit Coca-Cola beinahe den Goldpokal gewonnen, wäre
da nicht auch die Süßreserve des deutschen Weinbaus. Den 1.Preis,
unvergänglichen Ruhm und das Bewußtsein, endlich der Welt gezeigt zu
haben, daß sie kreativer sind als der nichtdeodorierte Teil der
Menschheit, errangen sie schließlich mit der Erfindung des Hamburgers<br /><a title="pagebreak" name="pagebreak"></a><br />Lindy`s Cheese Cake halten die Amerikaner irrtümlich für einen
Ureinwohner ihres schönen Landes; er s
Code: Alles auswählen
<div class="wrapper">
<ul class="mapping">
<li>::<a href="/" class="1">Home</a> ::<a href="/ueber-mich/" class="1">Über mich</a></li>
</ul>
<h1 class="content">Wer ich bin ...</h1>
<h2 class="content">... ein kleiner Auszug aus meinem Lebenslauf</h2>
</a>Lindy`s Cheese Cake halten die Amerikaner irrtümlich für einen
Ureinwohner ihres schönen Landes; er stammt aus dem Schwäbischen.
Dagegen hätten sie mit Coca-Cola beinahe den Goldpokal gewonnen, wäre
da nicht auch die Süßreserve des deutschen Weinbaus. Den 1.Preis,
unvergänglichen Ruhm und das Bewußtsein, endlich der Welt gezeigt zu
haben, daß sie kreativer sind als der nichtdeodorierte Teil der
Menschheit, errangen sie schließlich mit der Erfindung des Hamburgers<br /><br /><a href="/ueber-mich/ueber-mich.html?page=0">Erste Seite</a>
<a href="/ueber-mich/ueber-mich.html?page=0">Vorhergehende Seite</a>
<a href="/ueber-mich/ueber-mich.html?page=0" title="Gehe zu Seite 1">1</a>
| <a href="/ueber-mich/ueber-mich.html?page=1" title="Gehe zu Seite 2"><strong>2</strong></a>
| <a href="/ueber-mich/ueber-mich.html?page=2" title="Gehe zu Seite 3">3</a>
| <a href="/ueber-mich/ueber-mich.html?page=3" title="Gehe zu Seite 4">4</a>
<a href="/ueber-mich/ueber-mich.html?page=2">Nächste Seite</a>
<a href="/ueber-mich/ueber-mich.html?page=3">Letzte Seite</a>
</div>
Außerdem bekomme ich im Validator noch zwei Fehler angemeckert:
Code: Alles auswählen
# Error Line 104, Column 6: XML Parsing Error: Opening and ending tag mismatch: body line 23 and div.
</div>
✉
# Error Line 109, Column 7: XML Parsing Error: Opening and ending tag mismatch: html line 4 and body.
</body>
Altlasten scheinen keine vorhanden zu sein. Ich habe gestern abend das Modul dektiviert, gelöscht, die Tabelle con-code gelöscht und dann das Modul neu eingespielt und ins Template eingebunden. Das Ergebnis ist das gleiche, auch wenn die Seite jetzt vom Inhalt her anders aussieht.
Meines Erachtens kann es nur an dem Modul liegen. Wenn ich das Standard-Text-Modul einbinde, ist die Seite valide.
Gruss
Clemens