Seite 1 von 1

Problem mit der Erzeugung von Validem Code

Verfasst: Fr 23. Mär 2007, 07:11
von ClemensSchnitzler
Mit dem MS Internet Explorer (auch mit der Version 7) erzeugen wir ja keinen validen Code. Dies soll mit Firefox anders sein. Deshalb setze ich diesen in der Version 2.0.0.3 ein. Trotzdem habe ich Probleme mit der Erzeugung von validem Code.

Ich bin mir nicht sicher, ober ich bei der Eingabe etwas falsch mache. Deshalb meine Bitte sich die beiden folgenden Seiten mal an zu schauen. Vielleicht könnt Ihr mir ja sagen warum der Code nicht valide ist.

1. http://handball.c-schnitzler.de/die-handballabteilung/
Dies ist eine einfache Tabelle mit 2 Spalten 16 Zeilen.

2. http://handball.c-schnitzler.de/die-han ... eiler.html
hier erscheint der Fehler in dem Modul für Link "zurück zur Artikelübersicht". Meines Erachtens ist der Code für das Modul in Ordnung!?.

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :	    Link auf Startartikel
* Author      :     Carsten Hallwachs, c.ha@gmx.de
* Copyright   :     
* Created     :     01-07-2003
* Modified    :     01-07-2003
************************************************/

$sql = "SELECT is_start FROM ".$cfg["tab"]["cat_art"]." WHERE idcat='".$idcat."' AND idart='".$idart."'";
$db->query($sql);
if ( $db->next_record() && ($db->affected_rows() != 0) ) {
	if($db->f("is_start")=="1") {
		echo " ";
	} else {
		echo '<div class="link"><div id="linkpfeil"><a href="front_content.php?idcat=' . $idcat . '"><img src="images/main/icons/arrow1_nw.jpg" width="24" height="16" alt="zurück"></div><div class="linktext"><a href="front_content.php?idcat=' . $idcat . '">zurück zur Artikelübersicht</a></div></div>';
	}
} else {
	echo "Fehlender Eintrag in Tabelle cat_art!";
}
?>
Des weiteren habe ich ein Problem beim Löschen von Artikeln. Wenn ich auf den Papierkorb klicke öffnet sich ein Popup Artikel löschen. Darin sollte normalweise ein X zum abbrechen und ein Hacken zum bestätigen sein. Diese sind bei mir leider nicht vorhanden.

Für diesen Webauftritt setze ich die Version 4.6.15 ModeRewrite ein.

Ich bin gespannt auf Eure Ratschläge

Viele Grüße

Clemens

Verfasst: Fr 23. Mär 2007, 07:36
von Dodger77
Hast du schon mit dem w3c-Validator getestet:

http://validator.w3.org

? Der sagt dir doch genau, woran es liegt:

für 1.: um <table> ... </table> gehört kein <p> ... </p>
für 2.: der erste Anker (<a>) muss auch geschlossen werden

Verfasst: Fr 23. Mär 2007, 07:45
von ClemensSchnitzler
Danke. Ja, das habe ich mir mit dem Validator angeschaut und auch erkannt woran das liegt, zumindest bei der Tabelle.

Das <p> und </p> wird aber automatisch um die Tabelle gelegt. Was muss ich tun, damit das nicht automatisch erzeugt wird? Bei dem Anker verhält es genau so. Ich habe den Vor- und Nachnamen markiert, das Bearbeitungsfeld für Link angeklickt, den Link ausgewählt und zugewiesen. </a> hat das System dann einfach vergessen. In beiden Punkten stellt sich für mich die Frage, was mache ich falsch?

Und wie verhält es sich mit der zweiten Seite? Da ist der Code meines Erachtens richtig?

Gruss Clemens

Verfasst: Fr 23. Mär 2007, 08:23
von Dodger77
ClemensSchnitzler hat geschrieben:Bei dem Anker verhält es genau so. Ich habe den Vor- und Nachnamen markiert, das Bearbeitungsfeld für Link angeklickt, den Link ausgewählt und zugewiesen. </a> hat das System dann einfach vergessen. ...

Und wie verhält es sich mit der zweiten Seite? Da ist der Code meines Erachtens richtig?
Das </a> hast du vergessen, mein Hinweis bezog sich darauf ("für 2."). Schau dir den Code des Moduls nochmal genau an.

Das umschließende <p></p> hast du evtl. bereits im Layout oder in dem verwendeten Text/HTML-Modul mit drinstehen oder es wir durch den TinyMCE automatisch hinzugefügt. Das solltest du mal checken.

Verfasst: Fr 23. Mär 2007, 09:22
von ClemensSchnitzler
OK. Das hatte ich falsch verstanden. Der Code ist geändert, trotzdem wirft der Validator noch Fehler aus.

Hier der Code:

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :       Link auf Startartikel
* Author      :     Carsten Hallwachs, c.ha@gmx.de
* Copyright   :     
* Created     :     01-07-2003
* Modified    :     01-07-2003
************************************************/

$sql = "SELECT is_start FROM ".$cfg["tab"]["cat_art"]." WHERE idcat='".$idcat."' AND idart='".$idart."'";
$db->query($sql);
if ( $db->next_record() && ($db->affected_rows() != 0) ) {
   if($db->f("is_start")=="1") {
      echo " ";
   } else {
      echo '<div class="link"><div id="linkpfeil"><a href="front_content.php?idcat=' . $idcat . '"><img src="images/main/icons/arrow1_nw.jpg" width="24" height="16" alt="zurück"></a></div><div class="linktext"><a href="front_content.php?idcat=' . $idcat . '">zurück zur Artikelübersicht</a></div></div>';
   }
} else {
   echo "Fehlender Eintrag in Tabelle cat_art!";
}
?>
Bei der Tabelle wird <p> </p> durch das Standard Text/HTML-Modul generiert. Was muss tun, damit es bei Tabellen nicht generiert wird? Kann ich in diesem Modul die beiden TAGs einfach löschen?

Verfasst: Fr 23. Mär 2007, 09:49
von emergence
ClemensSchnitzler hat geschrieben:Kann ich in diesem Modul die beiden TAGs einfach löschen?
versuchs doch einfach mal..

Verfasst: Fr 23. Mär 2007, 10:27
von ClemensSchnitzler
Ich habs versucht. Es funktioniert. Der Validator wollte zwar ein align left noch nicht, das habe ich im HTML-Editor eliminiert. Diese Seite ist nun valide.

Bleiben noch die Fragen offen warum mein oben erwähntes Modul noch nicht valdide ist und warum bei der Artikel löschen Funktion die Anzeige im Popup nicht richtig ist.

Vielleicht seit Ihr so nett, mir da noch die entsprechenden Hinweise zu geben.

Gruß

Clemens

Verfasst: Fr 23. Mär 2007, 10:40
von emergence
sorry, keine lust...

Verfasst: Fr 23. Mär 2007, 10:47
von ClemensSchnitzler
sorry, keine lust...
ich hoffe, das hängt nicht mit mir zusammen!

Verfasst: Fr 23. Mär 2007, 11:18
von stese
also mein w3 validator sagt mir den fehler ganz genau an:
Zeile 109 Zeichen 92 - Warnung: <img> element not empty or not closed
sprich im xhtml müssen alle tags auch geschlossen werden.
entweder so

Code: Alles auswählen

<img></img>
oder die kurzform

Code: Alles auswählen

<img />

Verfasst: Fr 23. Mär 2007, 11:35
von ClemensSchnitzler
ich hoffe, das hängt nicht mit mir zusammen!
Ich denke doch. Ich hatte mir das so oft angeschaut und war einfach nur blind. Sorry und Danke!!!!!

Selbst auf Gefahr hin, dass ich "geprügelt" werde muss ich aber noch die Frage klären warum ich im Firefox 2.0.0.3 im Backend z. B. beim Artikellöschen das Popup nicht richtig angezeigt bekomme. Es fehlt schlichtweg der Button zum abbrechen und der zum bestätigen.

Verfasst: Fr 23. Mär 2007, 11:38
von stese
das hängt mit deinen ff extensions zusammen, die unten in der systembar infos darstellen - dann kann es sein, dass er das fenster verkleinert und somit einige elemente nicht mehr angezeigt werden - deaktiviere testweise mal extensions um rauszufinden, bei welcher das passiert.

Verfasst: Fr 23. Mär 2007, 11:44
von ClemensSchnitzler
Wunderbar! Danke! Ich werde das testen.