Zum Inhalt springen

Überschrift von Content-Element in TEXT-Objekt

Erstellt am 9. Mai 2008 · 9 Antworten · letzte Antwort am 14. Mai 2008

Tags: Frage

Seph ·

Hallo,

ich möchte in einem Textobjekt die Überschrift eines Content-Elements schreiben. Was mach ich falsch?

temp.topic = TEXT
temp.topic {
  field=header
}
Dirk1 ·

Dann fällt mir noch ein:

select.pidInList = 4711
Oder irgendeine andere Seiten-ID deiner Wahl

select.pidInList = this

Nimmt die aktuelle Seite. Ist vielleicht nicht default.

Seph ·

Hi, hier das Objekt:

temp.topic = TEXT
temp.topic {
  table=tt_content
  select.pidInList = this
  field=header
}
Dirk1 ·

Das was hierarchisch darüber liegt auch bitte.

Ich nehme an, das pidInList hat ebenfalls nicht funktioniert.

Das ist in sofern ein interessanter Fall, weil du etwas total naheliegendes machst was nicht funktioniert.
Ich habe das gleiche Problem übrigens völlig anders gelöst:

page.1.marks.NORMAL.30 = CONTENT
page.1.marks.NORMAL.30 {
	table = tt_content
	select.orderBy = sorting asc
	select.where = colPos = 0
	select.pidInList = this
	renderObj.stdWrap.wrap = <div class="content-wrap">|</div>
	
	renderObj = TEXT
	renderObj = {
		field = header
	}
}

Mir ist an sich selber nicht ganz klar, warum an dieser Stelle diese zusätzliche Schleife über renderObj nötig ist.

Vielleicht kann sich mal einer von den großen Zauberern hier dazu äußern.

Gruß
Dirk

Unbekannter Benutzer ·

Ich habe das Topic so verstanden, dass ein bestimmtes Feld EINES Content Elments ausgelesen werden soll, nämlich das header filed des Content Objekt xy.

Hier wird aber doch in Anführungsstrichen in den Codebeispielen gezeigt wie man ALLE Content Elemente einer bestimmten Seite der Spalte normal ausliest.

Wenn du ein bestimmtest Content-Element haben willst, ist das

temp {
	MARKER = RECORDS
	MARKER {
		tables = tt_content
		source = 5
	}
}

Das liest dir aus der Tabelle tt_content das Inhaltselement mit der uid 5 aus...

Wie du nur an das field header kommst weis ich leider nicht.

jochen ·

Hallo zusammen,

so kommt man an ein bestimmtes Feld aus einer Datenbanktabelle:

temp.topic = TEXT
temp.topic.data = DB : tt_content : 5 : header

Das liefert die Überschrift des Inhaltselements (aus "tt_content") mit der uid 5.

Grüße
Jochen

Seph ·

Hallo,

vielen Dank für die Antworten und Lösungsanstöße.

Hier meine Lösung:

temp.topic = CONTENT
temp.topic {
  table = tt_content
  select {
    max = 1   # nur der erste Datensatz
    where = colPos = 0
  }     
  renderObj = TEXT
  renderObj {
      field = header
    }
  }
}

# ich brauche die Überschrift nur auf der ersten Seite bzw. treeLevel 0
[treeLevel = 1,2]
  lib.stdheader.10 >
[end]

Mit der Lösung kann ich nun die Überschrift des ersten Content-Elements einer Seite in einen Marker kopieren und diesen frei auf der Seite platzieren.

Da diese Lösung für alle Content-Elemente im treeLevel 1,2 gilt, haben die nachfolgenden Elemente keine Überschrift! Sollte kein Problem sein das mit ein paar Zeilen Script zu ändern. Für meine Seite jedoch ausreichend.

Gruss
Seph