Zum Inhalt springen

Nur eine H1 in allen Spalten

Erstellt am 30. Oktober 2008 · 1 Antwort · letzte Antwort am 30. Oktober 2008

Tags: Inhaltselemente, SEO, Frage

FlashKasper ·

Hallo zusammen,

ich versuche gerade ein einer Lösung, dass im Frontend grundsätzlich nur eine H1 ausgegeben wird.

Alle anderen im Backend als Überschrift hinterlegten werden automatisch in h2 umgewandelt:

#Erste Überschrift auf Seite ist h1, jede weitere h2
lib.stdheader {
  10 {
    if.value = 1
    if.equals.data = cObj:parentRecordNumber
    1.fontTag = <h1>|</h1>
  }
  20 < .10
  20 {
    if.negate = 1
    1.fontTag = <h2>|</h2>
  } 
}

Das funktioniert jetzt aber soweit nur für meine default-Spalte.

Ich bekomme es nicht hin das ganze für alle Spalten (in meinem Fall dann noch für die rechte Spalte).

Meine Versuche mit key.field und colPos sind bisher leider gescheitert.

Vielleicht hat ja jemand noch eine Idee?

Merci und Grüße
Konrad

FlashKasper ·

Habe mittlerweile ein passende Lösung gefunden bzw. für mich entsprechend angepasst.

# Nur einmal die Standardüberschrift H1 auf der Seite anzeigen, alle anderen H1s ind H2s umwandeln 
temp.stdheader < lib.stdheader
lib.stdheader >
temp.stdheader = CASE
temp.stdheader {
  key.field=colPos
  # rechte Spalte gibt es niemals eine h1
  1 =TEXT
  1.field=header
  1.wrap=<h2>|</h2>
  1.required=1
  
  default=COA
  # h1 for 1. element
  default.10=TEXT
  default.10 {
    field=header
    wrap=<h1>|</h1>
    if.value=1
    if.equals.data = cObj:parentRecordNumber
    required=1
  }
  #h2 für alle weiteren Headlines H1
  default.20<.default.10
  default.20.if.negate = 1
  default.20.wrap=<h2>|</h2>
}

lib.stdheader < temp.stdheader

Falls diese Lösung vielleicht später auch mal jemand gebrauchen kann.

Viele Grüße
Konrad