aktivní položka v menu u aktivní stránky

V tejto téme sa nachádzajú šablóny (templaty, vzhľady) pre Etomite.

Moderátor: Moderators

Užívateľov profilový obrázok
puschpull
Expert
Expert
Príspevky: 112
Dátum registrácie: Št Mar 19, 2009 9:31 am
Bydlisko: Czech Republic - Most
Kontaktovať užívateľa:

aktivní položka v menu u aktivní stránky

Príspevok od užívateľa puschpull » Pi Apr 17, 2009 3:23 pm

Zkusím dotaz sem do šablon, ikdyž asi jde napříč tématy.

Mám horizontální obrázkové menu
viz:
vseobecne-help-centrum/css-a-horizontal ... -t440.html

a chci, aby aktivní položka (tmavé pozadí) bylo vždy zobrazeno na příslušné stránce, po celou dobu, kdy se tam nacházím. Zatím je položka aktivná jen po najetí myší nad položku v menu.

menu má v šabloně tvar:

Kód: Vybrať všetko

<div id="menu"> 

<div id="aimon-nav"> 
  <ul>
    <li id="aimon"><a href="aimon-homepage" ><span>aimon</span></a></li> 
    <li id="sluzby"><a href="sluzby"><span>služby</span></a></li> 
    <li id="jak_pracujeme"><a href="jak-pracujeme"><span>jak pracujeme</span></a></li> 
    <li id="nase_prace"><a href="nase-prace"><span>naše práce</span></a></li> 
    <li id="kontakty"><a href="kontakty"><span>kontakty</span></a></li> 
  </ul>
</div> <!-- aimon-nav --> 

</div> <!-- end menu --> 

<div id="content"> 

    [*content*]

</div> <!-- end content --> 
a příslušná část css souboru:

Kód: Vybrať všetko

/* vodorovné obrázkové menu
---------------------------------- */

#menu
{
	position: relative;
	left: 0px;
	top: 0px;
  	width: 639px;
  	height: 31px;
	float: left;
	/*background-image: url(images/titulka-logo-a-text.png);
	background-repeat: no-repeat;*/
	/*border: 1px solid blue;*/
}

#aimon-nav 
{
	float:left;
	width:100%;
	overflow:hidden;
	}	
	
#aimon-nav  ul 
{	
	border: 0;
	margin: 0;
	padding: 0;
	list-style-type: none;
	text-align: center;
	clear: left;
	position: relative;
	top: 0px;
	left: 0px;
	
	}

#aimon-nav  li 
{
	display: block;
	float: left;
	text-align: center;
	padding: 0;
	margin: 0;
	}

#aimon-nav  a 
{
	margin:0px;
	padding:0px;
	display: block;
	}
	
	#aimon-nav a span 
{	
	display: none;
	}	

#aimon a
{
	width:95px;
	height:31px;
	background:#acacac url(images/menu-aimon-dis.jpg) no-repeat;
	}

#aimon a:hover
{
	width:95px;
	height:31px;
	background:#acacac url(images/menu-aimon-ena.gif) no-repeat;
	}

#sluzby a
{
	width:100px;
	height:31px;
	background:#acacac url(images/menu-sluzby-dis.jpg) no-repeat;
	}

#sluzby a:hover
{
	width:100px;
	height:31px;
	background:#acacac url(images/menu-sluzby-ena.gif) no-repeat;
	}
	
	#jak_pracujeme a
{
	width:171px;
	height:31px;
	background:#acacac url(images/menu-jakprac-dis.jpg) no-repeat;
	}

#jak_pracujeme a:hover
{
	width:171px;
	height:31px;
	background:#acacac url(images/menu-jakprac-ena.gif) no-repeat;
	}
	
	#nase_prace a
{
	width:144px;
	height:31px;
	background:#acacac url(images/menu-naseprac-dis.jpg) no-repeat;
	}

#nase_prace a:hover
{
	width:144px;
	height:31px;
	background:#acacac url(images/menu-naseprac-ena.gif) no-repeat;
	}
	
	#kontakty a
{
	width:129px;
	height:31px;
	background:#acacac url(images/menu-kontakty-dis.jpg) no-repeat;
	}

#kontakty a:hover
{
	width:129px;
	height:31px;
	background:#acacac url(images/menu-kontakty-ena.gif) no-repeat;
	}
	
/* konec menu
---------------------------------- */
nyní k řešení problému
koukal jsem na část snippetu "ListGlobal"

Kód: Vybrať všetko

$node = 0; 
$node = (isset($LGlob_node)) ? $LGlob_node : $node; 
$tempPageInfo = $etomite->getPageInfo($etomite->documentIdentifier,0,'parent');
$thisParent = $tempPageInfo['parent'];
if ($node && !$thisParent)
{
  $node = 0;
}
$globalKids = $etomite->getActiveChildren
(
  $id=$node,
  $sort='menuindex',
  $dir='',
  $fields='id, pagetitle, longtitle, description, alias, parent, isfolder, showinmenu',
  $limit="",
  $showhidden=false
);
$sectionId = $etomite->documentIdentifier;
while ( ($pageInfo = $etomite->getPageInfo($sectionId,0,'parent')) && ($pageInfo['parent'] != $node ) ) 
{
  $sectionId = $pageInfo['parent'];
}
ale nevím co s tím ani zda je tato část využitelná k řešení mého dotazu

prostě v té části, kde mám v šabloně

<li id="aimon"><a href="aimon-homepage" ><span>aimon</span></a></li>
<li id="sluzby"><a href="sluzby"><span>služby</span></a></li>
<li id="jak_pracujeme"><a href="jak-pracujeme"><span>jak pracujeme</span></a></li>
<li id="nase_prace"><a href="nase-prace"><span>naše práce</span></a></li>
<li id="kontakty"><a href="kontakty"><span>kontakty</span></a></li>


nechat vygenerovat id stránky kde se necházím a použít ho k nastavení příslušné stránky na #stranka a:hover, #stranka active {...}

ale začal jsem se v tom, jako obvykle, totálně plácat
:-(

Neporadil by někdo, raději trochu konkrétněji, protože do náznaků řešení jsem schopen se úplně zamotat a celé to zesložitit. Myslím, že to celé není tak složité, jen nevím jak na to
:-)

Děkuji
----------------------------
http://puschpull.org
:-)

Užívateľov profilový obrázok
_rasel^
ETOMITE Admin
ETOMITE Admin
Príspevky: 1122
Dátum registrácie: Ut Sep 20, 2005 1:03 am
Bydlisko: Košice (SR)
Kontaktovať užívateľa:

Re: aktivní položka v menu u aktivní stránky

Príspevok od užívateľa _rasel^ » Pi Apr 17, 2009 6:38 pm

Už v tej predchádzajúcej téme som Ti písal aké je riešenie. Pozri sa na snippet [[ListMenu]]. Snippet ListMenu Ti vytvorí menu na základe štruktúry, ktorú máš v Etomite a každej položke pridá CSS triedu, resp. ID, takže budeš vedieť v CSS definovať, ako má vyzerať položka menu, keď je adresárom, ako má vyzerať, keď je je príslušný adresár otvorený a ako má vyzerať položka menu na ktorej sa práve nachádzaš a prezeráš danú stránku...
..:: Etomite CMS → Rulezzz !.!.!. ::..

Napísať odpoveď