2011-12-09 3 views
11

Su documenti si legge:CHtml :: link - come aggiungere una classe html?

public static string link(string $text, mixed $url='#', array $htmlOptions=array ()) 

Domanda: Non capisco che cosa significa $ htmlOptions qui. Non capisco come passare da questa rappresentazione a un codice reale.

Qualcuno può fornire un esempio su come possiamo generare un collegamento con una classe definita. Qualcosa di simile:

<a href="#" class="hello">link hello</a> 

risposta

23

E 'più facile di quanto si possa pensare, anche se la documentazione di Yii è forse un po' più complicata di quanto deve essere. Tuttavia, si dice che $htmlOptions è

attributi HTML aggiuntivi. Oltre a normali attributi HTML, alcuni attributi speciali sono anche riconosciute (vedi clientChange e tag per maggiori dettagli.)

In sostanza, qualunque sia coppie chiave/valore si inserisce nella matrice verrà fuori come attributes¹ HTML. Allora, che cosa si vuole fare è

CHtml::link('link hello', '#', array('class' => 'hello')); 

¹except i valori "speciali" che i documenti si riferiscono a che non finirà reso in HTML così com'è ma in entrambi modificare il modo in cui link funziona un po ', o finire influenzando l'HTML in altri modi.

0
<?php echo CHtml::link('Link Text',array('controller/action','param1'=>'value1'), array('target'=>'_blank','class'=>'hello'); ?> 

Sarà mostrato come di seguito.

<!--if you disabled url manager in "protected/config/main.php" the output will be --> 
<a target="_blank" class="hello" href="index.php?r=controller/action&param1=value1">Link Text</a> 

<!--if you enabled url manager in "protected/config/main.php" the output will be --> 
<a target="_blank" class="hello" href="controller/action/param1/value1">Link Text</a> 

per ottenere una descrizione dettagliata su cHTML in Yii Controllare questo link.

0
<?php echo CHtml::link("Label Text" , array("/controller_here/action_here") , array('class' => 'class_here')); ?> 

o

<?php echo CHtml::link("Label Text" , Yii::app()->createUrl("/controller_here/action_here") , array('class' => 'class_here')); ?>