Ergebnis 1 bis 7 von 7

Thema: Validierungsproblem: Eigenes Template

  1. #1
    Contao-Nutzer
    Registriert seit
    27.03.2013.
    Beiträge
    161

    Standard Validierungsproblem: Eigenes Template

    Hi,
    vielleicht könnt ihr mir weiterhelfen. Ich habe ein Problem bei der Validierung meiner Webseite. Ich habe für die Frontendansicht in Metamodels ein eigenes Template benutzt und bekomme jetzt bei der Validierung der Seite immer folgenden Fehler:

    Code:
    Error Line 1, Column 11930: End tag a violates nesting rules.
    
    …w-Carb-Mandel-Kürbiskern-Brot</div></a></div></div></div><div class="ce_metamo…
    Das Template hat den folgenden Inhalt:

    Code:
    <?php if (count($this->data)): /* display only if there is data. */ ?>
    <div class="layout_full">
    <?php foreach ($this->data as $arrItem): /* loop over all items. */ ?>
    
    <?php if ($arrItem['jumpTo']['deep']): ?>
    <a href="<?php echo $arrItem['jumpTo']['url']; ?>"  title="Weiter zum Low Carb Rezept: <?php echo $arrItem['text']['rezeptname']; ?>">
    
    <div class="item <?php echo $arrItem['class']; ?>">
    
    	<div class="Rezeptbild">
    		<?php echo $arrItem['html5']['rezeptbild']; ?> 
    	</div>
    	<div class="rezeptname">
    		<?php echo $arrItem['text']['rezeptname']; ?> 
    	</div>
    </a>
    
    <?php endif; ?>
    
    </div>
    <?php endforeach; ?>
    
    </div>
    <?php else: ?>
    <p class="info"><?php echo $this->noItemsMsg; ?></p>
    <?php endif; ?>
    Ich hatte in irgendeinem Thread gelesen, dass man das so machen könnte. Leider finde ich ihn jetzt nicht mehr.

    Danke für die Hilfe

    Viele Grüße Michael

  2. #2
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.280

    Standard

    Ein Div sollte niemals in einem a sein wenn ich mich nicht irre :-)

    Mach doch zwei a Tags um <?php echo $arrItem['html5']['rezeptbild']; ?> und <?php echo $arrItem['html5']['rezeptname']; ?>


    Code:
    <div class="Rezeptbild">
            <a href="<?php echo $arrItem['jumpTo']['url']; ?>"><?php echo $arrItem['html5']['rezeptbild']; ?> </a>
        </div>
        <div class="rezeptname">
            <a href="<?php echo $arrItem['jumpTo']['url']; ?>"><?php echo $arrItem['text']['rezeptname']; ?> </a>
        </div>
    VG
    Geändert von Kahmoon (13.08.2014 um 16:10 Uhr)

  3. #3
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.082
    Contao-Projekt unterstützen

    Support Contao

    Standard

    So ist es. Das a ist ein Inline-Element und darf somit keine Block-Elemente wie div enthalten, sondern nur Inline-Elemente.

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.199
    Partner-ID
    10107

    Standard

    Unter HTML 4 nicht, unter HTML 5 schon, nur so nebenbei

  5. #5
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.082
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ah ja, danke für den Hinweis, muss ich wohl direkt mal die HTML5-Spezifikation genauer anschauen .
    Dann ist die Ursache wahrscheinlich wesentlich profaner. Ich glaube, das letzte "</div>" vor "<?php endforeach; ?>" ist wohl zuviel. Zumindest finde ich kein entsprechendes <div> zwischen der foreach Schleife und dem a-Tag.

  6. #6
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.082
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Und diesem <div> entspricht kein </div> innerhalb der a-Tags.
    <div class="item <?php echo $arrItem['class']; ?>">

    Edit: Ich denke das </div> das unten zuviel ist könnte diese Lücke ganz gut füllen, wenn man es vor das </a> schiebt.
    Geändert von tab (13.08.2014 um 16:47 Uhr)

  7. #7
    Contao-Nutzer
    Registriert seit
    27.03.2013.
    Beiträge
    161

    Standard

    Hi,
    super, danke für eure Hilfe. Die letzte Antwort von Tab war es. Ich hatte beim rumprobieren ganz vergessen, dass ich auf der Seite 2 Listen hatte. Somit konnte ich bei einer so viel ändern wie ich wollte. Der Fehler blieb
    Grüße Michi

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •