Index: design/admin/templates/pagelayout.tpl
===================================================================
--- design/admin/templates/pagelayout.tpl	(revision 23092)
+++ design/admin/templates/pagelayout.tpl	(working copy)
@@ -217,30 +217,46 @@
 <div id="leftmenu">
 <div id="leftmenu-design">
 
-{switch match=$navigation_part.identifier}
-	{case match='ezcontentnavigationpart'}
-	    {include uri='design:parts/content/menu.tpl'}
-	{/case}
-	{case match='ezmedianavigationpart'}
-	    {include uri='design:parts/media/menu.tpl'}
-	{/case}
-	{case match='ezshopnavigationpart'}
-	    {include uri='design:parts/shop/menu.tpl'}
-	{/case}
-	{case match='ezusernavigationpart'}
-	    {include uri='design:parts/user/menu.tpl'}
-	{/case}
-	{case match='ezvisualnavigationpart'}
-	    {include uri='design:parts/visual/menu.tpl'}
-	{/case}
-	{case match='ezsetupnavigationpart'}
-	    {include uri='design:parts/setup/menu.tpl'}
-	{/case}
-	{case match='ezmynavigationpart'}
-	    {include uri='design:parts/my/menu.tpl'}
-	{/case}
-	{case}
-	{/case}
+{* get navigationpart identifier variable depents if the call is an contenobject
+   or a custom module *}
+{def $navigation_part_name = $navigation_part.identifier}
+{if $navigation_part_name|eq('')}
+    {set $navigation_part_name = $module_result.navigation_part}
+{/if}
+
+{switch match=$navigation_part_name}
+    {case match='ezcontentnavigationpart'}
+        {include uri='design:parts/content/menu.tpl'}
+    {/case}
+    {case match='ezmedianavigationpart'}
+        {include uri='design:parts/media/menu.tpl'}
+    {/case}
+    {case match='ezshopnavigationpart'}
+        {include uri='design:parts/shop/menu.tpl'}
+    {/case}
+    {case match='ezusernavigationpart'}
+        {include uri='design:parts/user/menu.tpl'}
+    {/case}
+    {case match='ezvisualnavigationpart'}
+        {include uri='design:parts/visual/menu.tpl'}
+    {/case}
+    {case match='ezsetupnavigationpart'}
+        {include uri='design:parts/setup/menu.tpl'}
+    {/case}
+    {case match='ezmynavigationpart'}
+        {include uri='design:parts/my/menu.tpl'}
+    {/case}
+    {case}
+        {* include automatically the menu template for the $navigation_part_name
+           ez $part_name navigationpart =>  parts/$part_name/menu.tpl
+        *}
+        {def $extract_length = sum( count_chars( $navigation_part_name ), -14 )
+             $part_name      = $navigation_part_name|extract( 2, $extract_length )}
+
+        {include uri=concat('design:parts/',$part_name,'/menu.tpl')}
+
+        {undef $extract_length $part_name}
+    {/case}
 {/switch}
 
 
