---
title: "Grid-Elements mit Flexform - Problem mit Page-Id"
url: "https://www.typo3.net/d/113402-grid-elements-mit-flexform-problem-mit-page-id"
source: "typo3.net"
tags: ["Extensions","Frage"]
created: "2013-01-11"
last_reply: "2013-01-14"
replies: 4
solved: false
page: 1
pages: 1
lang: "de"
---

# Grid-Elements mit Flexform - Problem mit Page-Id

Extensions · 4 Antworten · gestartet 2013-01-11

## Eröffnungsbeitrag

**todo** · 2013-01-11 · [Beitrag #1](https://www.typo3.net/d/113402-grid-elements-mit-flexform-problem-mit-page-id/1)

Hallo *,

ich möchte gerne in einem Grid-Element via Flexform Seiten-IDs auswählen und dann per TS wieder ausgeben.
Dazu habe ich ein Flexform:

```php
<T3DataStructure>
  <meta>
    <langDisable>1</langDisable>
  </meta>
  <ROOT>
    <type>array</type>
    <el>
      <teaser1>
        <TCEforms>
          <exclude>1</exclude>
          <label>Seite die im Teaser 1 erscheinen soll</label>
          <config>
            <type>group</type>
            <internal_type>db</internal_type>
            <allowed>pages</allowed>
            <size>1</size>
            <minitems>0</minitems>
            <maxitems>1</maxitems>
          </config>
        </TCEforms>
      </teaser1>
```

Das funktioniert soweit auch, allerdings habe ich Probleme mit der Ausgabe:

```typoscript
3 < temp.gridelements.defaultGridSetup
3{
	prepend = COA
	prepend{
		10 = CONTENT
		10 {
			table = pages
				select {
	 		   		pidInList = 50
	    				selectFields = title,uid
	    				andWhere{
	    				dataWrap = uid={field:flexform_teaser1}
	    			}
	    		}
			renderObj = COA
			renderObj{
				10 = TEXT
				10{
	  				field = title
	  				#insertData = 1
	  				wrap = <h2>|</h2>
	  			}
	  		}
			#field = flexform_teaser1
			wrap = <div class="teaser">|</div>
		}
	}
}
```

Das Problem ist das mit "field:flexform_teaser1" den Wert "pages_190" zurückliefert.
Das funktioniert natürlich nicht im SQL-query.
hat jemand eine Idee, wie ich das umgehen kann? Ich braucht nur die ID, ohne den Prefix "pages_"!

TYPO3-Version: 4.7.7
Grid-Elements: 1.3.12
PHP-Version: 5.3.14

## Antworten

### [#2](https://www.typo3.net/d/113402-grid-elements-mit-flexform-problem-mit-page-id/2) · LuP · 2013-01-11

Hallo,

es ist wahrscheinlich auf den [hier](https://www.typo3.net/d/112891-file-reference-in-gridelements-via-flexform-geht-nicht) beschriebenen Bug zurückzuführen.

VG,
LuP

### [#3](https://www.typo3.net/d/113402-grid-elements-mit-flexform-problem-mit-page-id/3) · todo · 2013-01-11

Ich glaube das es hier etwas anderes ist.

Flexforms speichern bei <type>group</type> immer den Tabellennamen mit.

Ich habe mir jetzt erst mal anders beholfen.

```php
<T3DataStructure>
  <meta>
    <langDisable>1</langDisable>
  </meta>
  <ROOT>
    <type>array</type>
    <el>
      <teaser1>
        <TCEforms>
          <exclude>1</exclude>
          <label>Seite die im Teaser 1 erscheinen soll</label>
          <config>
            <type>input</type>
			<size>30</size>
			<max>256</max>
			<eval>trim</eval>
			<wizards type="array">
				<_PADDING type="integer">2</_PADDING>
				<link type="array">
					<type>popup</type>
					<title>Teaser 1 - Link</title>
					<icon>link_popup.gif</icon>
					<script>browse_links.php?mode=wizard</script>
					<JSopenParams>height=300,width=500,status=0,menubar=0,scrollbars=1</JSopenParams>
				</link>
			</wizards>
          </config>
        </TCEforms>
      </teaser1>
```

So wird die Page-ID als einfache Zahl gespeichert.

Unschön ist halt das der Seitenname nicht im Backendformular angezeigt wird, sondern nur die ID.

Also wenn jemand eine Idee hat.....

### [#4](https://www.typo3.net/d/113402-grid-elements-mit-flexform-problem-mit-page-id/4) · LuP · 2013-01-12

> **todo schrieb:**
>
> Flexforms speichern bei <type>group</type> immer den Tabellennamen mit.

nein, das ist nur der Fall, wenn man bei allowed mehrere Tabellen (bzw. *) angegeben hat. Hier kommt nur eine einzige Tabelle in Betracht, weil Du explizit nur pages wählen möchtest. Daher müsste nur die id gespeichert werden. Siehe hierzu t3lib_loadDBGroup::getValueArray().

Ähnlich wie in dem anderen Thread könntest Du versuchen, folgendes in die Datei typo3conf/extTables.php hinzuzufügen. Die Flexform in dem Gridelement solltest Du dabei belassen, wie es anfangs war (also mit internal_type db).

```php
$GLOBALS['TCA']['tt_content']['columns']['pi_flexform']['config']['ds']['*,gridelements_pi1'] = '
    <T3DataStructure>
        <ROOT>
            <type>array</type>
            <el>
                <teaser1>
                    <TCEforms>
          		<exclude>1</exclude>
          		<label>Seite die im Teaser 1 erscheinen soll</label>
                        <config>
                            <type>group</type>
                            <internal_type>db</internal_type>
                            <allowed>pages</allowed>
                            <size>1</size>
                            <minitems>0</minitems>
                            <maxitems>1</maxitems>
                        </config>
                    </TCEforms>
                </teaser1>
            </el>
        </ROOT>
    </T3DataStructure>
';
```

VG,
LuP

### [#5](https://www.typo3.net/d/113402-grid-elements-mit-flexform-problem-mit-page-id/5) · todo · 2013-01-14

Genau so funktioniert es.
Vielen Dank

---

Quelle: „Grid-Elements mit Flexform - Problem mit Page-Id“, typo3.net, https://www.typo3.net/d/113402-grid-elements-mit-flexform-problem-mit-page-id
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
