• Inhalt als PDF-Datei herunterladen
  • Optimierter Druck
Thema ohne neue Antworten

TYPO3-Browser: HTML-Code ausblenden wenn Feld leer / ohne Wert


Autor Nachricht
Verfasst am: 07. 03. 2011 [16:25]
thomaaas
Thomas
Themenersteller
Dabei seit: 07.03.2011
Beiträge: 18
Hallo!
Ist es möglich einen Bereich im HTML Template auszublenden, falls ein DB Feld keinen Wert enthält?

Hätte gerne circa so etwas:

Tel.: 12334455
Handy: 1233242354

Falls keine Handy Nummer angegeben wurde wird "Handy:" ausgeblendet oder eben "Tel.:" falls es keine Telefonummer gibt.

Danke,
Thomas


Verfasst am: 07. 03. 2011 [23:34]
ivofrie
Ivo
Dabei seit: 29.09.2010
Beiträge: 53
Hallo Thomas

Ja, klar geht das!

Ich habe bei mir ein Single-View-Template mit eigenen Markern.

Dort habe ich einen Marker ###LABEL_FOR_TABLE_FIELD### sowie das Feld selbst mit ###TABLE.FIELD###.

In Browser selbst kann man einstellen, dass keine leeren Felder und Suchergebnisse angezeigt werden sollen (Tab: Listenansicht > Ansicht: Leere Werte).

Den Marker für das Label spreche ich mit

TYPOSCRIPT
plugin.tx_browser_pi1 {
  marker {
    label_for_table_field {
      if {
        isTrue = ###TABLE.FIELD###
      }    
      value = Englische Bezeichnung
      lang {
        de = Deutsche Bezeichnung
      }
      wrap = <div class="labelfortablefield">|</div>
    }
  }
}

Der Wichtige Punkt ist das if.isTrue, welches überprüft, ob das dazugehörige Datenbankfeld einen Eintrag hat, oder nicht.

Gruss, Ivo
Verfasst am: 08. 03. 2011 [00:05]
thomaaas
Thomas
Themenersteller
Dabei seit: 07.03.2011
Beiträge: 18
Hi Ivo!
Danke für diesen guten Tipp.

Ich bin zwar mit TYPO3 gut vertraut, aber diese Extension ist echt komplex.
Danke für deine Hilfe....

Leider klappt es nicht so ganz:

MEINE MARKER:

###LABEL_FOR_FE_USERS_TX_EXTENDFEUSERS_MOBILE### ###FE_USERS.TX_EXTENDFEUSERS_MOBILE###

TYPOSCRIPT
TYPOSCRIPT
plugin.tx_browser_pi1 {
marker {
      label_for_fe_users_tx_extendfeusers_mobile {
        if {
          isTrue = FE_USERS.TX_EXTENDFEUSERS_MOBILE
        }    
        value = Mobile
        lang {
          de = Handy
        }
        wrap = <div class="whatever">|</div>
      }
    }
}


AUSGABE

###LABEL_FOR_FE_USERS_TX_EXTENDFEUSERS_MOBILE### 0676 7484992

Also das LABEL wird einfach nicht angesprochen.
Das bringt mich zum verzweifeln...

Hast du noch einen Tipp bitte?
Thomas
Verfasst am: 08. 03. 2011 [00:15]
dkuehlborn
Dieter Kühlborn
Dabei seit: 04.11.2010
Beiträge: 84
Hallo Thomas,

ich habe das bei mir wie folgt gelöst:

TYPOSCRIPT
zipcode = COA
zipcode{
  10 = TEXT
  10 {
    value = ###TX_DKORGANIZATION_DATA.ZIPCODE### 
    if.isTrue = ###TX_DKORGANIZATION_DATA.ZIPCODE###
  }
}


Ich denke, dass als Value Du das Datenbankfeld angeben musst. Wird die Abfrage als nicht true bewertet, so wird hier ein leerer String zurückgegeben.

In meinem Fall lasse ich nur die Felder ausgeben, die einen Inhalt haben.

Ich hoffe, es hilft Dir weiter.

VG Dieter
Verfasst am: 08. 03. 2011 [00:59]
thomaaas
Thomas
Themenersteller
Dabei seit: 07.03.2011
Beiträge: 18
Danke vielmals!
Folgendes hat bei mir geklappt:

TYPOSCRIPT
marker {
   label_handy {
     value   = Mobile
     if.isTrue = ###FE_USERS.TX_EXTENDFEUSERS_MOBILE###
   }
 }


Liebe Grüße,
Thomas



Powered by TYPO3 und mm_forum Extension

  • Inhalt als PDF-Datei herunterladen
  • Optimierter Druck