---
title: "pid Abfrage in TMENU: itemArrayProcFunc nur bei bestimmter pid"
url: "https://www.typo3.net/d/107408-pid-abfrage-in-tmenu-itemarrayprocfunc-nur-bei-bestimmter-pid"
source: "typo3.net"
tags: ["TYPO3","Menüs","Frage"]
created: "2011-09-21"
last_reply: "2011-10-17"
replies: 6
solved: false
page: 1
pages: 1
lang: "de"
---

# pid Abfrage in TMENU: itemArrayProcFunc nur bei bestimmter pid

TYPO3 › Menüs · 6 Antworten · gestartet 2011-09-21

## Eröffnungsbeitrag

**lukesn** · 2011-09-21 · [Beitrag #1](https://www.typo3.net/d/107408-pid-abfrage-in-tmenu-itemarrayprocfunc-nur-bei-bestimmter-pid/1)

Hallo zusammen,

ich komme gerade einfach nicht weiter.
In meiner Navigation soll ein Punkt nicht normale Unterseiten als Sub-Navigation anzeigen sondern Datensätze aus einem Ordner.

Dazu habe ich ein Script geschrieben, welches ich per itemArrayProcFunc einbinden kann, funktioniert soweit auch wunderbar.
Nur soll itemArrayProcFunc natürlich nicht bei jedem TMENU aufgerufen werden, sondern nur wenn die pid 4 ist.

```typoscript
2 = TMENU
2 {

// Die folgende Zeile soll nur angezeigt werden, wenn pid=4 ist	
itemArrayProcFunc = user_implementProjectsInNav->makeMenuArray

wrap = <ul class="sub">|</ul> 
stdWrap.dataWrap = <li>| (pid: {field:pid})</li>
NO.wrapItemAndSub = <li>|</li> 

}
```

Wie realisiere ich solch eine Abfrage?
Den ganzen Seitenbaum über ein Script zu bauen fände ich blöd. In anderen Foren habe ich den Hinweis gefunden, dass es irgendwie mit append klappt? Über Hilfe wäre ich sehr glücklich.

Danke und Gruß,
Lukas

## Antworten

### [#2](https://www.typo3.net/d/107408-pid-abfrage-in-tmenu-itemarrayprocfunc-nur-bei-bestimmter-pid/2) · lukesn · 2011-09-21

Kann man auf die Ebenen eines HMENU nicht mit einer if-Abfrage eingehen?

Also so zum Beispiel?

```typoscript
2 = TMENU
2 {
	itemArrayProcFunc = user_implementProjectsInNav->makeMenuArray
	wrap = <ul class="sub">1|</ul>					
	stdWrap.dataWrap = |(parent_id: {field:pid})				
	NO.wrapItemAndSub = <li>|</li>
	if.value.field = uid
	if.equals = 4
}
```

### [#3](https://www.typo3.net/d/107408-pid-abfrage-in-tmenu-itemarrayprocfunc-nur-bei-bestimmter-pid/3) · jazbo · 2011-10-13

Hallo lukesn,

konntest Du das Problem lösen ?

Ich habe ein ähnliches Problem.
Ich möchte gern Werte, die ich ins $menuArr in meiner itemArrayProcFunc eingefügt habe, im Typoscript weiter verwenden.

$menuArr[1]['meinWert'] = "Testwert"

Wie kann ich diesen Wert mit if abfragen ?

```typoscript
if.value.field=meinWert
if.equals = Testwert
```

hat nicht geklappt

gruß

jazbo

### [#4](https://www.typo3.net/d/107408-pid-abfrage-in-tmenu-itemarrayprocfunc-nur-bei-bestimmter-pid/4) · lukesn · 2011-10-17

Guten Morgen jazbo,

ich konnte das Problem leider noch nicht lösen. Im Moment arbeite ich mit einer Notlösung, hoffe aber noch auf eine gute Hilfestellung hier.

Gruß

### [#5](https://www.typo3.net/d/107408-pid-abfrage-in-tmenu-itemarrayprocfunc-nur-bei-bestimmter-pid/5) · jazbo · 2011-10-17

Guten Morgen lukesn,

ich habe hier einen Interessanten Ansatz gefunden:

<http://blog.schreibersebastian.de/2011/08/cal-kleines-monatsmenu/>

Das werde ich versuchen auf mein Problem anzuwenden.

Zu deinem Problem:

Das $menuArr wir an deine makeMenuArray übergeben.
mit $menuArr[​i]['uid']==4 kannst Du in einer for-Schleife alle Items durchtesten, ob uid=4 ist.
(vorher z.B. mit Count die Größe von $menyArr bestimmmen).
Die entsprechende uid kannst Du (besser) per Typoscvript übergeben:

```typoscript
 itemArrayProcFunc.meineUid = 4
```

in die Zeile hinter deinem Funtionsaufruf im TS
und dann auf php-Seite in deiner Funktion

function makeMenuArray($menuArr, $conf)

$myUid = $conf['meineUid'];

auswerten, nur falls sich mal was an der Seitenstruktur ändert.

gruß

Jan

gruß

jazbo

### [#6](https://www.typo3.net/d/107408-pid-abfrage-in-tmenu-itemarrayprocfunc-nur-bei-bestimmter-pid/6) · lukesn · 2011-10-17

Müsste ich in deinem Beispiel nicht das komplette Menü über PHP erstellen lassen?

### [#7](https://www.typo3.net/d/107408-pid-abfrage-in-tmenu-itemarrayprocfunc-nur-bei-bestimmter-pid/7) · jazbo · 2011-10-17

Nein,
es geht hier nur ums $menuArr.

Und es muß natürlich 'pid' und nicht 'uid' heißen.

Gemeint war deine "alte funktion" nur aufzurufen, wenn die Bedingung:

...['pid']= 4 erfüllt ist und in allen anderen Fällen nicht.

gruß

jazbo

---

Quelle: „pid Abfrage in TMENU: itemArrayProcFunc nur bei bestimmter pid“, typo3.net, https://www.typo3.net/d/107408-pid-abfrage-in-tmenu-itemarrayprocfunc-nur-bei-bestimmter-pid
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
