Zum Inhalt springen

COA nicht anzeigen, wenn Feld leer

Erstellt am 15. November 2007 · 3 Antworten · letzte Antwort am 16. November 2007

Tags: Frage

McGregor ·

Hi!

Ich versuche gerade krampfhaft folgendes Szenario umzusetzen:
Anzeige des Untertitels mit einigen zusätzlichen Angaben, wenn Untertitel eingegeben wurde. Wenn kein Untertitel eingegeben wurde, dann soll nichts angezeigt werden

temp.drucken = COA
temp.drucken {
 90 = TEXT
 90.value = <a href="index.php?id=
 100 = TEXT
 100.field = uid
 110 = TEXT
 110.value = &type=123" target="_blank"><img src="fileadmin/misc/images/druck.gif" alt="" /></a>
}

temp.header = COA
temp.header {
 20 = TEXT
 20.field = subtitle
 20.stdWrap.ifEmpty.cObject = TEXT
 20.stdWrap.ifEmpty.cObject.value = 
 20.stdWrap.wrap = <table cellpadding="0" cellspacing="0" border="0" class="drucker"><tr><td><h1 class="header-w-print">|</h1></td><td width="30">
 40 < temp.drucken
 50 = TEXT
 50.value = </td></tr></table><img src="clear.gif" width="100" height="10" alt="" />
}

Aber irgendwie bekomme ich im Hirn nicht die Kurve, damit das ifEmpty auf alles wirkt und nicht nur auf den subtitle (hier scheint auch noch ein zusätzlicher Bug drin zu sein).

Kann mir da jemand helfen?
Grüße
McGregor

ArminB ·

moin,

nimm doch einfach fieldRequired.

20 = TEXT
20 {
 fieldRequired = subtitle
 field = subtitle
 wrap = <table cellpadding="0" cellspacing="0" border="0" class="drucker"><tr><td><h1 class="header-w-print">|</h1></td><td width="30">
}

Armin

Unbekannter Benutzer ·

Hi,

es gibt die schöne Funktion "debugData" damit kannst du prüfen welche Felder zu dem Zeitpunkt zur Verfügung stehen.

...
temp.header {
 20 = TEXT
 20.debugData = 1
...

Falls du den Subtitle nicht angezeigt bekommst stehen die Felder der page Tabelle nicht zur Verfügung.
Deshalb muss man dann folgendermaßen darauf zugreifen:

...
temp.header {
 20 = TEXT
 20.data = page : subtitle
...

Um das ganze COA auszublenden wenn kein subtitle vorhanden ist bietet das COA die Funktion "if", die genau wie bei stdWrap angewendet werden kann.

So sollte es dann funktionieren:

temp.drucken = COA
temp.drucken {
 90 = TEXT
 90.value = <a href="index.php?id=
 100 = TEXT
 100.field = uid
 110 = TEXT
 110.value = &type=123" target="_blank"><img src="fileadmin/misc/images/druck.gif" alt="" /></a>
}

temp.header = COA
temp.header {
 20 = TEXT
 20.data = page : subtitle
 20.wrap = <table cellpadding="0" cellspacing="0" border="0" class="drucker"><tr><td><h1 class="header-w-print">|</h1></td><td width="30">
 40 < temp.drucken
 50 = TEXT
 50.value = </td></tr></table><img src="clear.gif" width="100" height="10" alt="" />
 if.isTrue.data = page : subtitle
}

😃