---
title: "Submenü nur anzeigen wenn auch Elemente enthalten"
url: "https://www.typo3.net/d/40703-submenue-nur-anzeigen-wenn-auch-elemente-enthalten"
source: "typo3.net"
tags: ["TYPO3","Menüs","Frage"]
created: "2006-04-03"
last_reply: "2006-04-04"
replies: 13
solved: true
page: 1
pages: 1
lang: "de"
---

# Submenü nur anzeigen wenn auch Elemente enthalten

TYPO3 › Menüs · 13 Antworten · gelöst · gestartet 2006-04-03

## Frage

**Unbekannter Benutzer** · 2006-04-03 · [Beitrag #1](https://www.typo3.net/d/40703-submenue-nur-anzeigen-wenn-auch-elemente-enthalten/1)

Hallo erstmal!

Also: Ich hab meine Navigation in zwei Teile aufgeteilt: Ein Horizintales für die erste Ebene (Mainmenü) und einst für die zweite bis vierte Ebene (Submenü)

Jetzt will ich aber, dass wenn das Submenü keinen Elemente enthält, dann soll es nicht angezeigt werden. wie mache ich das?

Hier ein Beispiel wie ich das meine:

```typoscript
[ --> Bedingung <-- ]
temp.submenu = COA
temp.submenu {
  10 = HMENU
  10.entryLevel = 1

  [...]

[ELSE]
temp.submenu = COA
temp.submenu {
  10 = HMENU
  10.wrap =
  10.1 = TMENU
  10.1.value = 
}
[END]
```

Tschüss Vinni10

## Beste Antwort

**Unbekannter Benutzer** · 2006-04-04 · [Beitrag #8](https://www.typo3.net/d/40703-submenue-nur-anzeigen-wenn-auch-elemente-enthalten/8)

Ja genau das meinte ich!!
Nur bekomme ich immer einen Error:

Fatal error: Cannot redeclare user_condition() (previously declared in /var/www/vhosts/domain.de/httpdocs/typo3conf/localconf.php:19) in /var/www/vhosts/domain.de/httpdocs/typo3conf/localconf.php on line 19

hab schon viel rumprobiert aber es net hinbekommen!!

```php
$TYPO3_CONF_VARS['SYS']['sitename'] = 'Blank DUMMY';

	// Default password is "joh316" :
$TYPO3_CONF_VARS['BE']['installToolPassword'] = '******************';

$TYPO3_CONF_VARS['EXT']['extList'] = '[...]';

$typo_db_extTableDef_script = 'extTables.php';


// ClearMenü if no Items by Falk Walter
   //TS:
  //# Empties lib.secondaryNavigation if there are pages on the second level
  //[treeLevel = 1] && [userFunc = user_condition(pageHasNoSubpages)]
  //  lib.secondaryNavigation >
  //[end] 
 
function user_condition($conditionValue) {
  global $GLOBALS;
 
  switch($conditionValue) {
        case "pageHasSubpages":
          if(sizeof($GLOBALS["TSFE"]->sys_page->getMenu($GLOBALS["TSFE"]->id)) !=0) {
            return true;
          }
          break;
        case "pageHasNoSubpages":
          if(sizeof($GLOBALS["TSFE"]->sys_page->getMenu($GLOBALS["TSFE"]->id)) !=0) {
                           return false;
          } else {
            return true;
          }
          break;
  }
}

//---------------------

## INSTALL SCRIPT EDIT POINT TOKEN - all lin...
```

Thx Vinni10

## Antworten

### [#2](https://www.typo3.net/d/40703-submenue-nur-anzeigen-wenn-auch-elemente-enthalten/2) · cyberworks · 2006-04-04

Sag den Seiten, die nicht angeführt werden dürfen doch einfach, dass sie nicht im Menü erscheinen sollen?

Meinst du das?

### [#3](https://www.typo3.net/d/40703-submenue-nur-anzeigen-wenn-auch-elemente-enthalten/3) · Unbekannter Benutzer · 2006-04-04

Ich mein das anders! Das Submenü hat am Anfang und am Ende  eine grafik. die werden über wrap eingefügt. jetzt sieht das aber sch**** aus wenn da keine Elemente angezeigt werden also die rootseite keine Unterseiten hat!

Ich will ja nur wissen wie ich Prüfen kann ob die erste Ebene Unterseiten enthält!

Gruß Vinni10

### [#4](https://www.typo3.net/d/40703-submenue-nur-anzeigen-wenn-auch-elemente-enthalten/4) · just2b · 2006-04-04

vielleicht gehts ja anders... es gibt auch den Menüzustand IFSUB...

lg georg

### [#5](https://www.typo3.net/d/40703-submenue-nur-anzeigen-wenn-auch-elemente-enthalten/5) · Unbekannter Benutzer · 2006-04-04

Kannst du mir mal ein Beispiel geben wie das mit zwei getrennten menüs geht?
Eigtl. müsste es doch irgendwas geben wie das geht!

```typoscript
[ --> Bedingung <-- ]
temp.submenu = COA
temp.submenu {
  10 = HMENU
  10.entryLevel = 1
 
  [...Gekürzt...]
 
[ELSE]
temp.submenu = COA
temp.submenu {
  10 = HMENU
  10.wrap =
  10.1 = TMENU
  10.1.value = 
}
[END]
```

Cu Vinni10[/quote]

### [#6](https://www.typo3.net/d/40703-submenue-nur-anzeigen-wenn-auch-elemente-enthalten/6) · just2b · 2006-04-04

naja ich kenn dein Menü nicht wirklich, aber vielleicht (!) kann man das Pferd eben von der anderen Richtung aufzäumen...

Bsp wäre das Menü hier <http://ringer.gosaunet.at/> oder auch jedes andere...

Ebene 1 => IFSUB-Zustand verwenden....

lg georg

### [#7](https://www.typo3.net/d/40703-submenue-nur-anzeigen-wenn-auch-elemente-enthalten/7) · FalkWalter · 2006-04-04

Hallo, Vini,

ich hatte ein ähnliches Problem wie Du (Menü war zwar weg, wenn kein Unterverzeichnis - aber der Wrap noch da).

Habe es wie folgt gelöst:

1) Im Forum gesucht (leider weiss ich nicht mehr die Begriffe  :( )
2) Dort ne Spur gefunden...
3) und wie folgt verfeinert:
Der folgende PHP-Code kommt in die typo3conf/localconf.php.
**Wichtig:** Beachte, dass Du diesen Code vor der Zeile "## INSTALL SCRIPT EDIT POINT TOKEN - all lines after this points may be changed by the install script!" einfügst (mit etwas Englisch selbsterklärend, warum).

```php
// USER Functions by Falk Walter - Kommentar kannst Du gerne abändern.

function user_condition($conditionValue) {
  global $GLOBALS;

  switch($conditionValue) {
  	case "pageHasSubpages":
  	  if(sizeof($GLOBALS["TSFE"]->sys_page->getMenu($GLOBALS["TSFE"]->id)) !=0) {
  	    return true;
  	  }
  	  break;
  	case "pageHasNoSubpages":
  	  if(sizeof($GLOBALS["TSFE"]->sys_page->getMenu($GLOBALS["TSFE"]->id)) !=0) {
			   return false;
  	  } else {
  	    return true;
  	  }
  	  break;
  }
}



## INSTALL SCRIPT EDIT POINT TOKEN - all lines after this points may be changed by the install script!
```

Das kommt noch VOR Dein PAGE-Objekt ins TS-Setup:

```typoscript
# Builds secondary navigation
# Needed Constants:
# - secondaryNavigation.header_lang = string (Header for secondary Navigation Box)

lib.secondaryNavigation = COA
lib.secondaryNavigation {
  wrap = <div id="secondaryNavigation">|</div>
  10 = TEXT
  10.dataWrap = <h3 class="secondaryNavigation">{leveltitle:1}</h3>
  20 = HMENU
  20.entryLevel = 1
  20.1 = TMENU
  20.1 {
    wrap = <ul>|</ul>
    ACT = 1
    NO.allWrap = <li class="secondaryNavigationNotActive">|</li>
    NO.ATagTitle.field = abstract // description // title
    ACT.allWrap = <li class="secondaryNavigationActive">|</li>
    ACT.ATagTitle.field = abstract // description // title
    ACT.stdWrap.wrap = <span class="secondaryNavigationActive">|</span>
  }
}

# Empties lib.secondaryNavigation if there are pages on the second level
[treeLevel = 1] && [userFunc = user_condition(pageHasNoSubpages)]
  lib.secondaryNavigation >
[end]
```

Hoffe, das hilft,

Falk

### [#8](https://www.typo3.net/d/40703-submenue-nur-anzeigen-wenn-auch-elemente-enthalten/8) · Unbekannter Benutzer · 2006-04-04 · Beste Antwort

(Text siehe oben unter „Beste Antwort“.)

### [#9](https://www.typo3.net/d/40703-submenue-nur-anzeigen-wenn-auch-elemente-enthalten/9) · FalkWalter · 2006-04-04

Servus,

was ich noch vergessen habe, Du brauchst für ein logisches UND bei einer TS-Bedingung noch eine Extension aus dem Repository: <http://typo3.org/extensions/repository/search/conditions/0.0.1/>

Aber das wird Dein Problem alleine wahrscheinlich nicht lösen - oder vielleicht doch?

Zum Test kannst Du im TS einfach mal folgendes löschen:
"[treeLevel = 1] && "

Grüßle
Falk

### [#10](https://www.typo3.net/d/40703-submenue-nur-anzeigen-wenn-auch-elemente-enthalten/10) · Unbekannter Benutzer · 2006-04-04

Also beides löst das Problem net!
Irgendwie wird localconf.php 2mal ausgeführt!

Info: Version 3.8.1

Vinni10

### [#11](https://www.typo3.net/d/40703-submenue-nur-anzeigen-wenn-auch-elemente-enthalten/11) · FalkWalter · 2006-04-04

Hmmmm... bei mir tut es (3.8.0)... ich glaube aber nicht, dass es an der Version liegt. Habe auch am Code nichts verändert...

Georg, weisst Du da event. weiter? Sollte ja eigentlich ne Standardsache sein... <https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/Syntax/Conditions/Index.html#typoscript-syntax-implementing-custom-conditions>

Was passiert denn, wenn Du das Beispiel aus der Referenz benutzt? Ein ausführlicheres Beispiel findest Du auch in der offiziellen TS-Referenz <https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/Index.html>

Grüßle
Falk

P.s.: Ist die Condition auch ja NICHT innerhalb einer Klammer gesetzt?

### [#12](https://www.typo3.net/d/40703-submenue-nur-anzeigen-wenn-auch-elemente-enthalten/12) · Unbekannter Benutzer · 2006-04-04

Hab ne lösung!

```php
if(!function_exists(user_condition)){ 
function user_condition($conditionValue) {
  global $GLOBALS;
 
  switch($conditionValue) {
        case "pageHasSubpages":
          if(sizeof($GLOBALS["TSFE"]->sys_page->getMenu($GLOBALS["TSFE"]->id)) !=0) {
            return true;
          }
          break;
        case "pageHasNoSubpages":
          if(sizeof($GLOBALS["TSFE"]->sys_page->getMenu($GLOBALS["TSFE"]->id)) !=0) {
                           return false;
          } else {
            return true;
          }
          break;
  }
}
}
```

Thx Vinni10

### [#13](https://www.typo3.net/d/40703-submenue-nur-anzeigen-wenn-auch-elemente-enthalten/13) · Unbekannter Benutzer · 2006-04-04

Wenn ich das Bsp aus der doku nehme kommt dat gleiche! Naja, muss ich halt immer ne If drum machen!

Tschüss Vinn10

### [#14](https://www.typo3.net/d/40703-submenue-nur-anzeigen-wenn-auch-elemente-enthalten/14) · FalkWalter · 2006-04-04

Hallo Vinni,

da lief irgendwas komisch, aber das Baby ist ja nun zur Welt gekommen :D

Grüßle
Falk

---

Quelle: „Submenü nur anzeigen wenn auch Elemente enthalten“, typo3.net, https://www.typo3.net/d/40703-submenue-nur-anzeigen-wenn-auch-elemente-enthalten
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
