---
title: "Eleganter und Select?"
url: "https://www.typo3.net/d/74754-eleganter-und-select"
source: "typo3.net"
tags: ["Allgemein","Frage"]
created: "2008-03-12"
last_reply: "2008-03-12"
replies: 7
solved: false
page: 1
pages: 1
lang: "de"
---

# Eleganter und Select?

Allgemein · 7 Antworten · gestartet 2008-03-12

## Eröffnungsbeitrag

**DocMcFly** · 2008-03-12 · [Beitrag #1](https://www.typo3.net/d/74754-eleganter-und-select/1)

Hallo,

Ich bin gerade bei der Userliste (Ext: newloginbox).
Da kann man mit "customProcessing" die Ausgaben noch formatieren. Als Beispiel wurde da Image angeben (s.u.).

Beim Geburtstag (date_of_birth) funktioniert das auch prima (auch s.u.). In der Geschechterfrage (gender) habe ich auch eine Lösung gefunden (s.u.). Da ist aber meine **Frage** geht das auch eleganter? Gibt es nicht auch ein "else" bei dem "if" ?

Und bei "static_info_country" stosse ich völlig an meine TypoScript-Grenzen... Ich bekomme mit den Zeilen:

```typoscript
  static_info_country = TEXT
  static_info_country.field = static_info_country
```

das iso_3-Kürzel bspw.: DEU. Aber bei meinem Versuch die Tabelle static_countries nach dem richtigen Ländernamen zu fragen, bin ich kläglich gescheitert. Mein **Frage** wie mach ich das?

Ich bin für jede Antwort dankbar... Sonst muss ich in den PHP-Quelltext eingreifen... #evil#

Gruß Clemens

```typoscript
plugin.tx_newloginbox_pi3{
  singleView.customProcessing{
    image.file.import = fileadmin/user_upload/fe_images/	
    date_of_birth = TEXT
    date_of_birth {
      field = date_of_birth
      strftime = %A, %e. %B %Y
    }
    gender = COA
    gender.1 = TEXT
    gender.1{
      value = Herr	
      if.value.field = gender
      if.equals = 0
    }
    gender.2 = TEXT
    gender.2{
      value = Frau
      if.value.field = gender
      if.equals = 1
    }

    static_info_country = TEXT
    static_info_country.table = static_countries
    static_info_country.select {                              
      andWhere = cn_iso_3 = {field:static_info_country}
    }
```

## Antworten

### [#2](https://www.typo3.net/d/74754-eleganter-und-select/2) · just2b · 2008-03-12

Hi,

eleganter geht das nicht wirklich, das passt so schon!

zum select! in der tsref zum select steht, dass das nicht mit static_ tabellen funktioniert, sorry, aber einen patch gibts seit dieser woche von mir unter <http://bugs.typo3.org/view.php?id=7812>

georg

### [#3](https://www.typo3.net/d/74754-eleganter-und-select/3) · DocMcFly · 2008-03-12

Danke für die schnelle Antwort und den Hinweis auf den Patch... ich hab mich schon für zu blöd gehalten.

Aber jetzt noch mal zu meinem Problem... Können die folgenden TS-Zeilen überhaupt funktionieren? Oder ist das Hum-Bug?

Ich hab mir das einfach mal so zusammengereimt... weil ich bei den anderen TS-Objekten auch über "field" an den Wert ran gekommen bin.

```typoscript
static_info_country = TEXT
    static_info_country.table = static_countries
    static_info_country.select {                             
    andWhere = cn_iso_3 = {field:static_info_country}
}
```

Gruß Clemens

### [#4](https://www.typo3.net/d/74754-eleganter-und-select/4) · just2b · 2008-03-12

Hallo,

das ist natürlich humbug.

das select gehört zum cObj CONTENT und das ganze schaut dann ca so aus

```typoscript
lib.rfc7812 = CONTENT
lib.rfc7812 {
	table =  static_countries
	select {
		pidInList = 0
		max = 20
		orderBy =cn_official_name_en
	}
	
	renderObj = TEXT
	renderObj {
		value = <tr><td></td><td>{field:uid}</td> <td>{field:cn_official_name_en}</td><td>{field:cn_capital}</td></tr>
		insertData = 1
		
	}
	stdWrap.wrap = <table cellpadding="1" cellmargin="1"><th><td>Uid</td><td>Name En</td><td>Capital</td></th>|</table>
}
```

und spuckt das aus <http://www.ringer.it/test/rfc-7812-cobj-content-static.html>

georg

### [#5](https://www.typo3.net/d/74754-eleganter-und-select/5) · DocMcFly · 2008-03-12

Was ich mich aber jetzt frage: Ich will ja nur einen Eintrag und nicht die ganze Liste. Dazu brauche ich doch die whrere-Klausel...
Weil aber '.where' nicht von .stdWrap abgeleitet ist - muss ich '.andWhere' nehmen...

```typoscript
andWhere = cn_iso_3 = {field:static_info_country}
```

Darum auch "{field:static_info_country}". Ich hab irgendwie im Gefühl das wird nicht funktionieren... aber ich wüsste nicht, wie ich sonst den Wert "static_info_country" rein bekomme.

Für jede Erklärung dankbar...
Clemens

PS: Danke für deinen TS-Code. Besonders:

```typoscript
renderObj = TEXT
renderObj { .... }
```

erweiterte sehr mein Verständnis für TS.

### [#6](https://www.typo3.net/d/74754-eleganter-und-select/6) · just2b · 2008-03-12

wenn du mit field arbeiten willst, dann brauchst du dann einfach ein
andWhere.insertData = 1

sonst im install tool mal sqldebug einschalten, dann siehst du genau was generiert wird

georg

### [#7](https://www.typo3.net/d/74754-eleganter-und-select/7) · DocMcFly · 2008-03-12

Super vielen Dank... Die DB-Zugriffe funktionieren dank Deinem Rat und Deinen Patch prima...

Danke und gruß Clemens...

PS: Muss nun nur noch die DB in Punkto Zeichensatz von "latin1_swedish_ci" auf UTF8 umstellen, damit die Umlaute funktionieren... :'( Anfängerfehler!!!

Hier für alle, die die UserList von der newloginbox etwas in einer etwas besser lesbareren Form haben wollen:

```typoscript
    gender = COA
    gender.1 = TEXT
    gender.1{
      value = Herr	
      if.value.field = gender
      if.equals = 0
    }
    gender.2 = TEXT
    gender.2{
      value = Frau
      if.value.field = gender
      if.equals = 1
    }
    
    
    static_info_country = CONTENT
    static_info_country{
      table =  static_countries
      select{
        insertData = 1
        andWhere = cn_iso_3 = '{field:static_info_country}'
        andWhere.insertData = 1
        pidInList = 0
        max = 1
      }
      renderObj = TEXT
      renderObj {
         value = {field:cn_short_local}
         insertData = 1
      }
    }
    
    zone = CONTENT
    zone{
      table =  static_country_zones
      select{
        insertData = 1
        andWhere = zn_country_iso_3 = '{field:static_info_country}' AND zn_code  = '{field:zone}'
        andWhere.insertData = 1
        pidInList = 0
        max = 1
      }
      renderObj = TEXT
      renderObj {
         value = {field:zn_name_local}
         insertData = 1
      }
    }
```

### [#8](https://www.typo3.net/d/74754-eleganter-und-select/8) · just2b · 2008-03-12

statt wie in 28/29 kannst du gleich schreiben
field = cn_short_local

nur so als hint

georg

---

Quelle: „Eleganter und Select?“, typo3.net, https://www.typo3.net/d/74754-eleganter-und-select
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
