Zum Inhalt springen

contentelemente der seite als menü ausgeben lassen (anchor)

Erstellt am 28. Juni 2006 · 7 Antworten · letzte Antwort am 28. Juni 2006

Tags: Inhaltselemente, Frage

sumtypo ·

moin ihrs,

habe mich bei google nach einer lösung umgeschaut wie ich eine liste der contentelemente (die überschriften dieser) in einem menü ausgeben lassen kann um dies auf langen contentseiten als schnellen ansprung nutzen zu können. hat jemand vielleicht eine idee. stehe da gerade irgendwie auf dem schlau.

dachte schon an eine db-abfrage der headlines um diese dann in das menü zu packen doch ist mir die umsetzung dieser idee auch nicht ganz klar.

vielleicht kann jemand helfen?

gruß, marcus.

sumtypo ·
just2b schrieb

content element vom typ sitemap > menü der unterseiten

okay, klingt nach einer sehr simplen lösung. wie gestalte ich das ganze wenn ich es per typoscript erledigen will?

Unbekannter Benutzer ·

Du kannst Dir im TypoScript Object Browser den Aufbau des TypoScript der Sitemap - Menü der Unterseiten - anschauen und einfach entsprechend nachbauen.

Viele Grüße
Niki

sumtypo ·

das ist genau das was ich gesucht habe. schon einmal besten dank.
bleibt noch eine frage:

LEISTE  = CONTENT
LEISTE  {
  table = tt_content
  select {
    pidInList = this
    orderBy = sorting
    where = CType=text OR CType=textpic OR CType=html OR CType=list OR CType=page_php_content_pi1
    languageField=sys_language_uid
     
  }
  wrap = <ul>|</ul>
  renderObj = TEXT
  renderObj {
    field = header 
    wrap=<li>|</li>
     
    typolink.parameter.field=pid
    typolink.parameter.dataWrap=|#anchor_{field:uid}
    if.isTrue.field=header
  }
}

wie löse ich die where-bedingungen im select-teil auf? für AND gibt es ja "andWhere" aber für or???

sumtypo ·

der trick ist folgender - oder ist es ein bug?

where = `CType`='text' OR `CType`='textpic' OR `CType`='html' OR `CType`='list' OR `CType`='page_php_content_pi1'

sprich die fehlenden anführungszeichen an den einzelnen parametern. eigentlich werden sie bei mysql nicht mehr benötigt jedoch kommt die aktuelle typoversion wohl nicht ohne aus.

die lösung kann also wie folgt aussehen:

LISTE  = CONTENT
LISTE  {

  table = tt_content
  select {
    pidInList = this
    orderBy = sorting
    where = (`CType`='textpic' OR `CType`='text' OR `CType`='list' OR `CType`='page_php_content_pi1' OR `CType`='html') AND `hidden`=0 AND `deleted`='0'
    andWhere = sectionIndex!=0
    languageField=sys_language_uid
     
  }

  wrap = <ul>|</ul>
  renderObj = TEXT
  renderObj {
    field = header 
    wrap=<li>|</li>
     
    typolink.parameter.field=pid
    typolink.parameter.dataWrap=|#{field:uid}
    if.isTrue.field=header
  }
}

nochmals danke für die hilfe