Home / Forum / leftmenu

leftmenu

Um Zugang zu den Foren zu erhalten, müssen Sie angemeldet sein

Autor Nachricht

Sebastian v. Roos

Registriert seit: 27.01.2006

Beiträge: 358

Donnerstag, 03. August 2006 12:31:29

Hallo, hab Problem mit dem Menu.

Benutze das leftmenu, welches eine Ordnerebene tiefer als bei Demodaten startet:

{let docs=treemenu( $module_result.path,
is_set( $module_result.node_id )|choose( 2, $module_result.node_id ),
ezini( 'MenuContentSettings', 'LeftIdentifierList', 'menu.ini' ),
1, 1 )
depth=1
last_level=1}

funktioniert auch wunderbar.

Allerdings nur solange, bis ich den shop-Ablauf starte.

Dann verschwindet das Menu ganz, was ich mir mit meinem bescheidenen Durchblick so erkläre, dass in dem Ablauf irgendwie keine "$module_result.node_id" mehr existiert.

(Damit könnte ich auch noch leben, obwohl es schöner wäre, wenn das Menu trotzdem sichtbar bliebe)

Aber während des Registrierungsablauf, bzw. wenn am Schluß die Seite "orderview" kommt, taucht das Menu wieder auf, aber die dargestellten Folder sind jetzt alle die unter der "id 2" (bzw. die beiden Folder, wo ein Login möglich ist) und nicht, wie ich gerne hätte und es normal auch der Fall ist, alle Folder unter der id 160.

Also meine Fragen wäre, wie kann ich verhindern, dass im shop-ablauf das Menu verschwindet, bzw. wenn es auftaucht immer alle Folder unter der id 160 angezeigt werden?


habe z.B. probiert:
is_set( $module_result.node_id )|choose( 160, $module_result.node_id ),
kein Erfolg

Eigentlich müßte doch dies gehen:

let docs=treemenu( $module_result.path,
160,
ezini( 'MenuContentSettings', 'LeftIdentifierList', 'menu.ini' ),
1, 1 )
depth=1
last_level=1}

tuts aber auch nicht.

Irgendwie müßte ich doch angeben können, dass im Zweifelsfalle oder auch auf Dauer $module_result.node_id=160 ist, - nur wissen wie ??? ;-(


mmh



Danke
und Grüsse!

S.



_______________________

http://webdevelopment.artenic.de ARTENIC - Publishing mit allen Mitteln!

Thomas Nunninger

Thomas  Nunninger

Registriert seit: 10.01.2006

Beiträge: 52

Donnerstag, 03. August 2006 13:22:28

Hi,

$module_result.node_id existiert nicht in jedem Modul. Die node_id ist speziell vom content-Modul. Du musst also vermutlich schon irgendwie selbst die node laden (so wie du das versucht hast).

Hast du mal zwischendurch dein Cache gelöscht? So Rand-Templates werden nicht immer komplett gelöscht, wenn sich was in den Templats ändert. Weiterhin würde ich überprüfen, ob die relevanten Bereiche in deinem pagelayout.tpl (oder in den inkludierten, relevanten Templates) in cache-blocks sitzen und was deren Schlüssel sind.

Viele Grüße

Thomas

Sebastian v. Roos

Registriert seit: 27.01.2006

Beiträge: 358

Donnerstag, 03. August 2006 17:54:41

Danke dir

ein Teil des Problems hab ich so weggekriegt. Es lag daran, dass ich noch ein 2. Menu im pagelayout drin hatte, was das andere irgendwie gestört hat.

Dennoch ist das Hauptproblem immer noch da.

Ich hab mal rumprobiert mit einer frischen Installation (3.8.3 shop_site), die kommt z.B. mit so einem leftmenu:

{let docs=treemenu( $module_result.path,
is_set( $module_result.node_id )|choose( 2, $module_result.node_id ),
ezini( 'MenuContentSettings', 'LeftIdentifierList', 'menu.ini' ),
0, 5 )
depth=1
last_level=0}

jetzt hab ich menu.ini so verändert, dass mir weitere classen, in diesem Fall product, multipriceproduct etc. auch im menu auch angezeigt werden.

In der doku steht ja
"depth_skip integer: Number of levels that should be skipped"

Da ich die 2. Folderebene möchte, hab ich so gesetzt:

{let docs=treemenu( $module_result.path,
$module_result.node_id,
ezini( 'MenuContentSettings', 'LeftIdentifierList', 'menu.ini' ),
1, 5 )
depth=1
last_level=2}

geht auch.
Nur: Auch bei der clean-installation, wenn ich den shopablauf starte, verschwindet ab basket das menu.

Im shopcheckout usw. zeigt eZ immer nur entweder die oberste Folderebene, also die direkt unter 2 oder gar nichts.

Sofern man den shop benutzen will, funktioniert also dieses "depth_skip" momentan definitiv nicht.

Egal wieviel subfolder-ebenen ich anzeigen möchte, -es kann ja sein, dass ich das Menu "aufgeklappt" anzeigen möchte- im basket wird immer nur die Ebene unter id 2 oder überhaupt nichts angezeigt.


cache hab ich natürlich immer vollständig mit sh geleert.


Naja,
ich werde mal weiter schauen und auf ez.no suchen.


erstmal nochmal DAnke!

wenn ich was eine Lösung gefunden habe, post ich nochmal
(kann bei meinem Know how aber nen paar Jahre dauern )



... so hab noch mal rumgeschaut,
scheint öfter aufzutauchen das Problem.
Also bei Systemabläufen ist wohl $module_result.path und $module_result.node_id leer.
http://ez.no/community/forum/setu...ty_treemenu_on_search_result_page__1

naja,
gönn mir erstmal nen Päuschen
...





http://ez.no/community/forum/setu...ty_treemenu_on_search_result_page__1

_______________________

http://webdevelopment.artenic.de ARTENIC - Publishing mit allen Mitteln!

Thomas Nunninger

Thomas  Nunninger

Registriert seit: 10.01.2006

Beiträge: 52

Donnerstag, 03. August 2006 18:31:25

> Im shopcheckout usw. zeigt eZ immer nur entweder die oberste Folderebene, also die direkt unter 2 oder gar nichts.

Das mit dem Menü von direkt unter der 2 ist klar:

{let docs=treemenu( $module_result.path,
 is_set( $module_result.node_id )|choose( 2, $module_result.node_id ),
 ezini( 'MenuContentSettings', 'LeftIdentifierList', 'menu.ini' ),
 0, 5 )
 depth=1
 last_level=0}


In der zweiten Zeile wird die node_id auf 2 gesetzt, da $module_result.node_id vermutlich nicht existiert.

Vielleicht liegt es daran, dass $module_result.path und die nodes aus treemenu() nicht zusammenpassen. Du kannst das ja mal probieren, indem du den Pfad einer funktionierenden Seite hart eincodierst.

Sorry, für die vagen Vermutungen. Bin derzeit leider grad ziemlich beschäftigt und kann daher nicht selbst rumspielen und nachsehen...

Viel Erfolg

Thomas

Um Zugang zu den Foren zu erhalten, müssen Sie angemeldet sein