---
title: "SeitenID in ext_tables.php"
url: "https://www.typo3.net/d/68128-seitenid-in-ext-tablesphp"
source: "typo3.net"
tags: ["Backend","Frage"]
created: "2007-09-14"
last_reply: "2007-09-15"
replies: 9
solved: false
page: 1
pages: 1
lang: "de"
---

# SeitenID in ext_tables.php

Backend · 9 Antworten · gestartet 2007-09-14

## Eröffnungsbeitrag

**mike_72** · 2007-09-14 · [Beitrag #1](https://www.typo3.net/d/68128-seitenid-in-ext-tablesphp/1)

Hallo,

ich habe eine Ext erstellt und mehrere Sys-Ordner zum Speichern von Daten angelegt.

Nun will ich in der ext_tables.php die SeitenID des jeweiligen Sys-Ordners abfragen.

Hintergrund ist der, dass ich die Labels der Eingabefelder im BE je nach Sys-Ordner passend benennen will. Ich habe also quasi pro Kategorie einen Sys-Ordner. Und da ist mir die Abfrage der SeitenID eingefallen.

```typoscript
SysOrdner 18:  'label' => 'LLL:EXT:meine_ext/locallang_db.php:tabelle.wert_A'
und
SysOrdner 19:  'label' => 'LLL:EXT:meine_ext/locallang_db.php:tabelle.wert_B',
```

Die locallang würde ich dann entsprechend händisch anpassen.
Oder gibt es da einen eleganteren Weg?

## Antworten

### [#2](https://www.typo3.net/d/68128-seitenid-in-ext-tablesphp/2) · brokemeister · 2007-09-14

Hi,

ich bin auch gerade am suchen nach was ähnlichem ist, aber wohl fast gleiche Grundgedanke...

Ich möchte gerne für dieselbe Extension in verschiendenen Sys-Ordner verschiedene Labels haben.

Am einfachsten wäre es (ist zwar nicht ganz sauber O-) ) eine andere Sprache in der localconf.php zu nutzen. Dazu müsste aber die Sprache im Page-Setup-TS von der User-Sprache geändert werden... Leider gibt es dafür keine Syntax...

Elegant wäre es, wenn man per Page-Setup-TS das Ganze so lösen könnten, dass man in der locallang_de.xml eine alternative anbieten könnte...

### [#3](https://www.typo3.net/d/68128-seitenid-in-ext-tablesphp/3) · mike_72 · 2007-09-14

Hallo,

ich glaube wir suchen exakt dasselbe.

Ich nutze konkret die tt_news mit verschiedenen Kategorien und habe mir für jede Kategorie einen eigenen SysOrdner angelegt.
Dazu noch eine eigene ext, die mir die Tabelle tt_news um verschiedene Felder erweitert.

Die Eingabemaske zum Erfassen der News im BE sieht ja immer gleich aus. Und genau an der Stelle will ich je nach gewählter Kategorie (bzw. SysOrdner) individuele Labels ausgeben. Mit "TCEFORM ... altLabels" hab ich das nicht hinbekommen. Daher dachte ich, die locallang händisch zu erweitern - allerdings ohne eine neue BE Sprache einzuführen.

locallang:

```typoscript
 'de' => Array (
        'tt_news.tx_meineext_feldname_kategorie_sysordner_18' => 'Label Kat. A',
        'tt_news.tx_meineext_feldname_kategorie_sysordner_19' => 'Label Kat. B',
        'tt_news.tx_meineext_feldname_kategorie_sysordner_20' => 'Label Kat. C',
      etc...
```

In der ext_tabels.php dachte ich, dass ich "irgendwie" die gerade aktuelle ID des SysOrdners ermittele und dann eine ganz einfache Abfrage mache und in das $tempColumns dann den jeweils passenden 'label' schreibe.

Also etwa so:

```php
<?php
if ($ID_dieses_SysOrdners == 18-) {
  $label = "LLL:EXT:meineext/locallang_db.php:tt_news.tx_meineext_feldname_kategorie_sysordner_18";
) elseif ( ... == 19) {
  etc...
}
?>
```

Und im Array dann

```php
$tempColumns = Array (
    "tx_meineext_feldname" => Array (
        "exclude" => 1,
        "label" => $label  // wie abgefragt
        "config" => Array (
            "type" => "input",
            "size" => "30",
        )
    ),
```

(so in etwa; logisch funktioniert der Code so nicht)

Nur, wie kann ich die ID des Sysordners in der ext_table.php abfragen. Oder kann ich irgendwie über TypoScript einen Parameter übergeben und den dann abfragen?

### [#4](https://www.typo3.net/d/68128-seitenid-in-ext-tablesphp/4) · brokemeister · 2007-09-14

> **mike_72 schrieb:**
>
> ich glaube wir suchen exakt dasselbe.

Denke ich auch...

> Ich nutze konkret die tt_news mit verschiedenen Kategorien und habe mir für jede Kategorie einen eigenen SysOrdner angelegt.
> Dazu noch eine eigene ext, die mir die Tabelle tt_news um verschiedene Felder erweitert.

Benutze auch die tt_news mit ner eigenen Erweiterung, bei mir passt für bestimmte Felder sinngemäß das Label nicht ganz, aber die Funktionalität ist genau dieselbe. Man kann eine Ext. nicht zwei mal installieren nur damit man andere Labels bekommt.

> Die Eingabemaske zum Erfassen der News im BE sieht ja immer gleich aus. Und genau an der Stelle will ich je nach gewählter Kategorie (bzw. SysOrdner) individuele Labels ausgeben. Mit "TCEFORM ... altLabels" hab ich das nicht hinbekommen. Daher dachte ich, die locallang händisch zu erweitern - allerdings ohne eine neue BE Sprache einzuführen.

das altLabel ist nur für Items, also Select-Listen-Element...

*Aber vielleicht kann ich das TCEFORM um ein Feld Label erweitern, werde mal gleich schau, an welcher Stelle das neue Label übergeben werden müsste...*

> In der ext_tabels.php dachte ich, dass ich "irgendwie" die gerade aktuelle ID des SysOrdners ermittele und dann eine ganz einfache Abfrage mache und in das $tempColumns dann den jeweils passenden 'label' schreibe.
>
> Also etwa so:
>
> ```php
> <?php
> if ($ID_dieses_SysOrdners == 18-) {
>   $label = "LLL:EXT:meineext/locallang_db.php:tt_news.tx_meineext_feldname_kategorie_sysordner_18";
> ) elseif ( ... == 19) {
>   etc...
> }
> ?>
> ```
>
> Und im Array dann
>
> ```php
> $tempColumns = Array (
>     "tx_meineext_feldname" => Array (
>         "exclude" => 1,
>         "label" => $label  // wie abgefragt
>         "config" => Array (
>             "type" => "input",
>             "size" => "30",
>         )
>     ),
> ```
>
> (so in etwa; logisch funktioniert der Code so nicht)
>
> Nur, wie kann ich die ID des Sysordners in der ext_table.php abfragen. Oder kann ich irgendwie über TypoScript einen Parameter übergeben und den dann abfragen?

Mit folgendem kannst du alles auslesen, ist zwar ein bissl unübersichtlich, aber kannst ja nach der ID suchen...

```php
print_r($GLOBALS);
```

Ich werde das mal mit TCEFORMS.table.label weiterzuverfolgen...

### [#5](https://www.typo3.net/d/68128-seitenid-in-ext-tablesphp/5) · brokemeister · 2007-09-14

So habe die Stelle gefunden wo es wahrscheinlich ergänzt werden müsste:

class.t3lib_tceforms.php

Klasse: getSingleField()

Werde mal schauen, ob das auf anhieb klappt...
Weiß aber nicht, ob ich das heute noch fertig bekomme...

### [#6](https://www.typo3.net/d/68128-seitenid-in-ext-tablesphp/6) · brokemeister · 2007-09-14

So durch ein Zeile kann man ganz einfach das Label per Page-Setup-TS ändern...

An folgender Stelle wird das ganze eingetragen... einziges Manko ist, dass es nicht Sprachabhängig ist. Aber vielleicht kriege ich das auch noch hin, oder jemanderes.
Das ganze werde ich auch noch als Feature im Bug-Tracker einstellen..

Aber hier nun erst mal der Workaround von einer Zeile Code...
Datei: class.t3lib_tceforms.php
Klasse: getSingleField()

Vorher:

```php
	$PA['label'] = $PA['altName'] ? $PA['altName'] : $PA['fieldConf']['label'];
	$PA['label'] = $this->sL($PA['label']);
```

Nachher:

```php
	$PA['label'] = $PA['altName'] ? $PA['altName'] : $PA['fieldConf']['label'];
	$PA['label'] = $PA['fieldTSConfig']['label'] ? $PA['fieldTSConfig']['label'] : $PA['label']; // Creates TCEFORM.[table].[field].label = New Label
	$PA['label'] = $this->sL($PA['label']);
```

Angewendung im PageSetup:

```typoscript
TCEFORM.[table].[field].label = New Label
```

Theoretisch sollte auch folgendes gehen...

```typoscript
TCEFORM.[table].[field].label = LLL:EXT:my_ext/locallang_db.php:table.wert
```

Also frohes schaffen

### [#7](https://www.typo3.net/d/68128-seitenid-in-ext-tablesphp/7) · mike_72 · 2007-09-14

Super! Funktioniert perfekt!

An den ".wert" habe ich jetzt einfach die ID des jeweiligen Sysfolders gehängt.

```typoscript
TCEFORM.[table].[field].label = LLL:EXT:my_ext/locallang_db.php:table.wert_17
```

Die locallang habe ich in der jeweiligen Sprache erweitert:

```typoscript
$LOCAL_LANG = Array (
    'default' => Array (
        'tt_news.tx_ext_name_17' => 'default_Name_17',
        'tt_news.tx_ext_name_18' => 'default_Name_18',
        'tt_news.tx_ext_name_19' => 'default_Name_19',
     ),
    'de' => Array (
        'tt_news.tx_ext_name_17' => 'Name_17',
        'tt_news.tx_ext_name_18' => 'Name_18',
        'tt_news.tx_ext_name_19' => 'Name_19',
    ),
 'xx'=> Array(
  'tt_news.tx_ext_name_17' => 'xx_Name_17',
        'tt_news.tx_ext_name_18' => 'xx_Name_18',
        'tt_news.tx_ext_name_19' => 'xx_Name_19',
    ),
);
```

Kommt man eigentlich im TSConfig des Sysordners an die SeitenID ran? Wenn ja, wie denn? Dann könnte nämlich nur ein TSConfig für alle Sysordner nehmen.

### [#8](https://www.typo3.net/d/68128-seitenid-in-ext-tablesphp/8) · brokemeister · 2007-09-14

Ab spätestens Montag gibt es dafür ein Extension...

### [#9](https://www.typo3.net/d/68128-seitenid-in-ext-tablesphp/9) · brokemeister · 2007-09-15

So, habe die Extension fertig...

Name der Extension: **maja_labelrename**

Viel Spaß beim umbenennen...

### [#10](https://www.typo3.net/d/68128-seitenid-in-ext-tablesphp/10) · mike_72 · 2007-09-15

Super! Habe das WE leider wenig Zeit, aber spätestens Montag schau ich mir Deine ext an.

---

Quelle: „SeitenID in ext_tables.php“, typo3.net, https://www.typo3.net/d/68128-seitenid-in-ext-tablesphp
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
