mellory Posted April 19, 2010 Report Share Posted April 19, 2010 Hallo, ich möchte gerne, dass in meiner Menüleiste immer der Link/Menüpunkt andersfarbig hervorgehoben wird, der gerade aktiv ist. Damit mein ich nicht den hover - Effekt. Der funktioniert. Ich möchte, dass der Nutzer weiß, auf welcher Seite er sich momentan befindet. Ich möchte, dem aktuellen Menüpunkt eine andere Klasse zuweisen am besten. Momentan werden die Links mittels {foreach name=aussen item=module_data from=$_categories} <li class="level{$module_data.level}{if $module_data.active} active{/if}"> <a href="{$module_data.categories_link}" title="{$module_data.categories_heading_title}">{$module_data.categories_name}</a></li> {/foreach}[/HTML] ermittelt. Gibt es eine Möglichkeit, noch eine if-Abfrage dareinzubringen, in der ich die aktuelle Seite abfrage? Wie kann ich den einzelnen Seiten sonst ID's zufügen, damit ich diese über soetwas wie if $module_data.categories_id=='1' ansprechen kann? Hab leider über die Suchfunktion nichts gefunden. Ein Link zu so einem Thema würde mir auch reichen ! DANKE Link to comment Share on other sites More sharing options...
objekt Posted April 19, 2010 Report Share Posted April 19, 2010 ist eine reine css-geschichte. kleine Hilfen findest Du hier LG Link to comment Share on other sites More sharing options...
mellory Posted April 19, 2010 Author Report Share Posted April 19, 2010 Hi,erstmal Danke für deine schnelle Antwort. Aber so mein ich das gerande nicht. Ich will nicht, dass die Farbe bei mouseover quasi nur wechselt (hover), oder das bereits geklickte Links eine andere Farbe haben (visited) usw. Quasi so: ich fahre mit der Maus über "Home", die Farbe wechselt zu blau (hover). Ich klicke, die Farbe bleibt während des Klickens blau (active). Und jetzt gehe ich mit der Maus woanders hin. Der Link sieht wieder aus wie jeder andere. Soll aber zb. blau bleiben. Hoffe das war verständlich? Mir würde es auch reichen zu wissen, wie ich jeden Menüpunkt einzeln ansprechen kann. Dann könnte ich das ganze ausbetten und mein Anliegen mit PHP oder Javascript lösen. Danke Link to comment Share on other sites More sharing options...
ahlfy Posted April 19, 2010 Report Share Posted April 19, 2010 ist schon richtig was oldbear sagt: sry, ich meine natürlich objekt .level a:active { color:#f3f3f3; font-weight:bold; } Link to comment Share on other sites More sharing options...
mellory Posted April 19, 2010 Author Report Share Posted April 19, 2010 aber active zählt doch nur für den Moment des Anklickens, oder lieg ich da falsch? Was mir nicht gelinkt ist die Markierung bzw. Beeinflussung des Links der gerade angewählten Seite. (alle Links weiß, nur Link der aktuellen Seite blau) Link to comment Share on other sites More sharing options...
amilo Posted April 19, 2010 Report Share Posted April 19, 2010 Hallo, active ist in diesem Fall eine eigene css Klasse. MfG. Hansen Link to comment Share on other sites More sharing options...
df:bug Posted April 19, 2010 Report Share Posted April 19, 2010 Hallo, das System setzt die aktive Auswahl im System class="level1 active", jedoch ist dafür kein CSS-Style festgelegt. ul#categorymenu .active, ul#categorymenu .active a {color: #F3F3F3;} Viele Grüße, df:bug Link to comment Share on other sites More sharing options...
ahlfy Posted April 19, 2010 Report Share Posted April 19, 2010 stimmt. wollte ich grad schreiben ... Link to comment Share on other sites More sharing options...
mellory Posted April 19, 2010 Author Report Share Posted April 19, 2010 Hi vielen Dank (hab categorymenu in categorys umbenannt, und das bei einer stylesheet-Angabe übersehen) . Trotzdem noch eine Frage. Es funktioniert nun bei allen Kategorien, welche ich im Backend abgelegt habe. Habe jedoch in der Navigationsleiste noch einen Punkt angelegt, der auf die Startseite verlinkt. Dieser steht auch in derselben ID drinne, wird jedoch nicht anders farbig dargestellt. Hab die Klasse level1 hochkopiert, aber das funktioniert bestimmt wegen den Variablen nicht (schreibt nur class="level" rein). <ul id="categorys" > <!--id="categorymenu"--> <li class="level{$module_data.level}{if $module_data.active} active{/if}"> {if $account == true} {/if} <a href="{link page='index' conn=SSL}" title="Startseite"> Home</a> </li> {foreach name=aussen item=module_data from=$_categories} <li class="level{$module_data.level}{if $module_data.active} active{/if}"> <a href="{$module_data.categories_link}" title="{$module_data.categories_heading_title}">{$module_data.categories_name}</a> </li> {/foreach} </ul>[/HTML] Vielen Dank Link to comment Share on other sites More sharing options...
mellory Posted April 19, 2010 Author Report Share Posted April 19, 2010 ich habs einfach in dem oberen <li> <li {if $smarty.get.page=='index'} class="level1 active" {/if}> Vielen Dank an Alle Link to comment Share on other sites More sharing options...
pmatrix Posted April 23, 2010 Report Share Posted April 23, 2010 Scheinbar wurde deine Frage bisher nicht richtig verstanden. Deine Lösung ist nicht allgemeingültig. Vorschlag: {* === http://example.com/index.php *} <li {if $smarty.get.page != 'content' and $smarty.get.page != 'customer'} class="level1 active" {/if}> {* === http://example.com/index.php?page=content&coID=4 *} [CODE]<li {if $smarty.get.page == 'content' and $smarty.get.coID == 4} class="level1 active" {/if}> {* === http://example.com/index.php?page=customer&page_action=login *} <li {if $smarty.get.page == 'customer' and $smarty.get.page_action =='login'} class="level1 active" {/if}>[/PHP] Gruß K. Heermann Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.