[Gelöst / Workaround] Menu -> start_level 2 Problem

Hilfe zu Modulen und Tags
Post Reply
User avatar
antiheld2000
Forum Members
Forum Members
Posts: 236
Joined: Thu Jan 31, 2008 9:23 am

[Gelöst / Workaround] Menu -> start_level 2 Problem

Post by antiheld2000 »

Hi,

bei meiner Installation der Version 1.6.5 gibt es das start_level="2" Problem (Siehe hier). Die dort angegebene Lösung funktioniert leider nicht. Fragt mich nicht warum. Ist leider so. Nun bin ich hier am verzweifeln und bin betriebsblind.

Wie wandele ich denn mein bestehendes Template so um, dass es erst ab start_level 2 loslegt? Kann mir jemand mal auf die Sprünge helfen? Das wäre klasse...

Mit Dank und Gruß
anti

Code: Select all

{if $count > 0}
<div id="menuwrapper">
	<ul id="primary-nav">
		{foreach from=$nodelist item=node}
		{if $node->depth > $node->prevdepth}
		{repeat string='
		<ul class="unli">
			' times=$node->depth-$node->prevdepth}
			{elseif $node->depth < $node->prevdepth}
			{repeat string='
			</li>
		</ul>
		' times=$node->prevdepth-$node->depth}
		</li>
		{elseif $node->index > 0}
		</li>
		{/if}
		{if $node->parent == true or ($node->current == true and $node->haschildren == true)}
		<li class="menuactive menuparent">
		<a class="menuactive menuparent" {elseif $node->current == true}
		<li class="menuactive">
		<a class="menuactive" {elseif $node->haschildren == true}
		<li class="menuparent">
		<a class="menuparent" {elseif $node->type == 'sectionheader' and $node->haschildren == true}
		<li class="sectionheader"><span class="sectionheader">{$node->menutext}</span>{elseif $node->type == 'separator'}
		<li style="list-style-type: none;">
			<hr class="menu_separator" />
			{else}
		<li><a {/if}
{if $node->type != 'sectionheader' and $node->type != 'separator'}
			{if $node->target}target="{$node->target}" {/if}
			href="{$node->url}">
			{if $node->haschildren == true}<strong>{else}{/if}
			<span>{$node->menutext}</span>
			{if $node->haschildren == true}</strong>{/if}
			</a> {elseif $node->type == 'sectionheader'}
			><span class="sectionheader">{$node->menutext}</span>
			{if $node->haschildren == true}</strong>{/if}
			</a> {/if}
			{/foreach}
			{repeat string='</li>
	</ul>
	' times=$node->depth-1}
	</li>
	</ul>
	<div class="clearb"></div>
</div>
{/if}
Last edited by antiheld2000 on Fri Sep 18, 2009 8:47 am, edited 1 time in total.
antibart
Power Poster
Power Poster
Posts: 1162
Joined: Sun Aug 17, 2008 9:29 am

Re: Menu -> start_level 2 Problem

Post by antibart »

Ich hatte das Problem auch nach dem Upgrade eines Projektes von 1.5.4 auf 1.6.5. Als Template benutze ich simple-navigation.

Bei mir hat die oben genannte Lösung aber prima geklappt ...

Sicher, dass du es genau so wie beschrieben  gemacht hast?

Poste doch mal deinen-Codeschnipsel aus der action.default.php aus dem Menümanager.
User avatar
antiheld2000
Forum Members
Forum Members
Posts: 236
Joined: Thu Jan 31, 2008 9:23 am

Re: Menu -> start_level 2 Problem

Post by antiheld2000 »

Code: Select all

			if( $curcontent )  {
			  $properparentpos = $this->nthPos($curcontent->Hierarchy() . '.', '.', intval($params['start_level']) - 1);
			  if ($properparentpos > -1)
			  {
			    $prevdepth = intval($params['start_level']);
			    $rootnode =& $hm->getNodeByHierarchy(substr($curcontent->Hierarchy(), 0, $properparentpos));
			  }
                        }
RonnyK
Support Guru
Support Guru
Posts: 4962
Joined: Wed Oct 25, 2006 8:29 pm

Re: Menu -> start_level 2 Problem

Post by RonnyK »

antibart
Power Poster
Power Poster
Posts: 1162
Joined: Sun Aug 17, 2008 9:29 am

Re: Menu -> start_level 2 Problem

Post by antibart »

Das Problem, dass  er - wie der Code beweist - diese Modifikation schon gemacht hat.


Da weiß ich aber ehrllich gesagt auch nicht weiter ...
RonnyK
Support Guru
Support Guru
Posts: 4962
Joined: Wed Oct 25, 2006 8:29 pm

Re: Menu -> start_level 2 Problem

Post by RonnyK »

OK, sorry... hatte die Link nicht gesehen....

Ronny
User avatar
antiheld2000
Forum Members
Forum Members
Posts: 236
Joined: Thu Jan 31, 2008 9:23 am

Re: Menu -> start_level 2 Problem

Post by antiheld2000 »

Ich weiss auch nicht wirklich weiter, deswegen bin ich auf der Suche nach einer einfach templatebasierten Lösung. Hierzu brummt mir aber irgendwie gerade zu doll der Schädel...
antibart
Power Poster
Power Poster
Posts: 1162
Joined: Sun Aug 17, 2008 9:29 am

Re: Menu -> start_level 2 Problem

Post by antibart »

antiheld2000 wrote: Ich weiss auch nicht wirklich weiter, deswegen bin ich auf der Suche nach einer einfach templatebasierten Lösung. Hierzu brummt mir aber irgendwie gerade zu doll der Schädel...
Das kann es aber ja nicht sein. Der Menümanager und die Parameter sollen diese Aufgaben übernehmen, sonst würde der Sinn des Ganzen verloren gehen.

Du könntest noch mal den tag zum Menüaufruf posten - vielleicht bloß ein kleiner Tippfehler ...

Hattest Du das Menu-Template denn schon mal bearbeitet.

Zur Not speichere es noch mal und setz es danach mal testweise auf die Werkseinstellung zurück.

Oder probier mein funktionierendes:

Code: Select all

{* CSS classes used in this template:
.activeparent - The top level parent when a child is the active/current page
li.active0n h3 - n is the depth/level of the node. To style the active page for each level separately. The active page is not clickable.
.clearfix - Used for the unclickable h3 to use the entire width of the li, just like the anchors. See the Tools stylesheet in the default CMSMS installation.
li.sectionheader h3 - To style section header
li.separator - To style the ruler for the separator *} 

{if $count > 0}
<ul>
{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth}
{repeat string="<ul>" times=$node->depth-$node->prevdepth}
{elseif $node->depth < $node->prevdepth}
{repeat string="</li></ul>" times=$node->prevdepth-$node->depth}
</li>
{elseif $node->index > 0}</li>
{/if}

{if $node->current == true}
<li><a class="currentpage" href="{$node->url}"{if $node->accesskey != ''} accesskey="{$node->accesskey}"{/if}{if $node->tabindex != ''} tabindex="{$node->tabindex}"{/if}{if $node->titleattribute != ''} title="{$node->titleattribute}"{/if}>{$node->menutext}</a>

{elseif $node->parent == true}
<li class="activeparent"><a class="activeparent" href="{$node->url}"{if $node->accesskey != ''} accesskey="{$node->accesskey}"{/if}{if $node->tabindex != ''} tabindex="{$node->tabindex}"{/if}{if $node->titleattribute != ''} title="{$node->titleattribute}"{/if}>{$node->menutext}</a>
{elseif $node->type == 'sectionheader'}
<li class="sectionheader">{$node->menutext}

{elseif $node->type == 'separator'}
<li class="separator" style="list-style-type: none;"> |


{else}
<li><a href="{$node->url}"{if $node->accesskey != ''} accesskey="{$node->accesskey}"{/if}{if $node->tabindex != ''} tabindex="{$node->tabindex}"{/if}{if $node->titleattribute != ''} title="{$node->titleattribute}"{/if}{if $node->target != ''} target="{$node->target}"{/if}>{$node->menutext}</a>

{/if}

{/foreach}
{repeat string="</li></ul>" times=$node->depth-1}</li>
</ul>
{/if}
Last edited by antibart on Wed Sep 16, 2009 9:16 am, edited 1 time in total.
RonnyK
Support Guru
Support Guru
Posts: 4962
Joined: Wed Oct 25, 2006 8:29 pm

Re: Menu -> start_level 2 Problem

Post by RonnyK »

Antiheld,

du bist sicher das die losung in genannten Topic bei dir aktief ist... Hast du gepruft ob die anderung auf den server steht....

Ronny
User avatar
antiheld2000
Forum Members
Forum Members
Posts: 236
Joined: Thu Jan 31, 2008 9:23 am

Re: Menu -> start_level 2 Problem

Post by antiheld2000 »

Ich habe gerade diverse Templates mit diversen Aufrufen probiert. Wenn ich start_level="2" mit einfüge, wird das Menü einfach nicht gerendert und es erscheint rein gar nichts im HTML Code. Auch mit deinem Template, antibart, und den default Templates.

@ Ronny: Der aktualisierte Code liegt definitiv so auf dem Server.

Fragt mich nicht...
RonnyK
Support Guru
Support Guru
Posts: 4962
Joined: Wed Oct 25, 2006 8:29 pm

Re: Menu -> start_level 2 Problem

Post by RonnyK »

Um sicher su sein....

Kannst du mich mal den code von den server im PM schicken...

Ronny
User avatar
antiheld2000
Forum Members
Forum Members
Posts: 236
Joined: Thu Jan 31, 2008 9:23 am

Re: Menu -> start_level 2 Problem

Post by antiheld2000 »

Ich hab nun einen Workaround auf Template-Basis erstellt, da dies die einzige Installation ist, bei der der Fehler auftritt und ich mal auf das nächste Update baue, ist das für mich eine gute Lösung. Einfach im Menü-Template direkt nach den {foreach} dies hier einfügen:
{if $node->depth != 1} und dann direkt vor dem {/foreach} logischerweise noch {/if} einfügen. Dann funktioniert es. Vielen Dank für Eure Mühen.

Gruß
anti
Post Reply

Return to “Module und Tags”