CMenu: assegnazione classe css

Ciao a tutti,

volevo togliermi una curiosità.

Sto creando un tema partendo da una grafica HTML già esistente, quindi ho dei vincoli di struttura html.cmq qui sotto trovate il menu come dovrebbe essere, ovvero ogni item è: blu, stondato etc etc:

2835

cmenu.jpg

il menu originale si presenta così:


<ul class="menu_ul" id="menu_links">	

	<li class="menu_ajax">

		<a class="buttondown" href="home">Home</a>

	</li>	

	<li class="menu_ajax">

		<a class="buttondown" href="nuova_richiesta" title="Apri un ticket per richiedere assistenza">Nuova Richiesta</a>

	</li>	

	<li>

	<a class="buttondown" href="ricerca.php" title="Cerca, filtra i tuoi ticket">Cerca ticket</a>

	</li>	 

</ul>

il problema che non sono riuscito a risolvere è stato quello di isnerire la classe “buttondown” al contenuto dell’item <li> ovvero alle <a>nchor vere e proprie del menu.

Ho trovato un workaround wrappando gli item così:


'itemTemplate'=>"<span class=\"buttondown\">{menu}</span>",

e il risultato grafico è quasi identico a quello del template originale di partenza.

Ma mi sono chiesto:

esiste un modo per settare un qualsiasi attributo che si vuole all’elemento contenuto dell’<li>?

…Grazie in anticipo!

Forse non rispondo alla tua domanda, ma provo lo stesso a darti un mio consiglio. Invece di aggiungere del css alla pagina, e ad aumentare la complessità, hai provato a modificare il css nel foglio di stile o a sovrascriverlo con un tuo css?

Ciao,

non mi sono spiegato bene, nel senso che ho tralasciato le info riguardanti i css…

cmq mi spiego meglio:

questo è il mio menu


$this->widget('zii.widgets.CMenu',array(

						'itemTemplate'=>"<span class=\"buttondown\">{menu}</span>",

						'items'=>array(

							array('label'=>'Home','url'=>array('/site/index')),

							array('label'=>'About', 'url'=>array('/site/page', 'view'=>'about')),

							array('label'=>'Contact', 'url'=>array('/site/contact')),

							array('label'=>'Login', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),

							array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest)

						),

					));

come si può notare wrappo ogni voce di menu con uno span con la classe "buttondown".

ma la mia vera necessità è:

siccome ogni voce di menu contiene un link "<a>" come è possibile inserire un qualsiasi attributo a tale link?come ad esempio "class" o "id" o "target"…etc etc?..

quindi avere tipo:




<li>

<a class="pippo" id="pluto">link</a>

</li>

perchè fin’ora sono riuascito a wrappare, ma ancora non sono riuscito a gestire l’elemento dentro <LI>

…Grazie ancora!

Non so se risponde alla tua necessità, ma ti posto un pezzo di codice di una mia app:




			<?php $this->widget('zii.widgets.CMenu',array(

				'items'=>array(

					array('label'=>'Inserimento', 'linkOptions'=>array('id'=>'ico1', 'class'=>'btns'), 'url'=>array('/transazione/create')),

					array('label'=>'Giroconto', 'linkOptions'=>array('id'=>'ico6', 'class'=>'btns'), 'url'=>array('/giroconto/create')),

					array('label'=>'Giornale', 'linkOptions'=>array('id'=>'ico2', 'class'=>'btns'), 'url'=>array('/giornale/index')),

					array('label'=>'Bilancio', 'linkOptions'=>array('id'=>'ico3', 'class'=>'btns'), 'url'=>array('/bilancio/index')),

					array('label'=>'Federazione', 'linkOptions'=>array('id'=>'ico7', 'class'=>'btns'), 'url'=>array('/federazione/index')),

					array('label'=>'Opzioni', 'linkOptions'=>array('id'=>'ico4', 'class'=>'btns'), 'url'=>array('/opzioni/index')),

					array('label'=>'Guida', 'linkOptions'=>array('id'=>'ico5', 'class'=>'btns', 'target'=>'_BLANK'), 'url'=>array('/guida/index')),

				),

			)); 




Roberto

Risponde appieno!

…mi era sfuggito questo attributo di items…

Grazie!