CHtml :: link - как добавить HTML-класс? - PullRequest
11 голосов
/ 09 декабря 2011

В документах мы можем прочитать:

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

Вопрос: Я не понимаю, что здесь означает $ htmlOptions.Я не понимаю, как перейти от этого представления к реальному коду.

Может ли кто-нибудь предоставить пример того, как мы можем сгенерировать ссылку с определенным классом.Что-то вроде:

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

Ответы [ 3 ]

24 голосов
/ 09 декабря 2011

Это проще, чем вы думаете, хотя документация Yii, возможно, немного более запутанная, чем нужно.Тем не менее, он говорит, что $htmlOptions - это

дополнительные атрибуты HTML.Помимо обычных атрибутов HTML, также распознаются несколько специальных атрибутов (подробнее см. ClientChange и tag.)

По сути, любые пары ключ / значение, которые вы вводите в массив, будут выглядеть как атрибуты HTML¹,Итак, что вы хотите сделать, это

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

, за исключением «специальных» значений, на которые ссылаются документы, которые не будут отображаться в HTML как есть, но либо изменяют способ, которым link работает незначительноили повлиять на HTML другими способами.

1 голос
/ 30 июля 2014
<?php echo CHtml::link('Link Text',array('controller/action','param1'=>'value1'), array('target'=>'_blank','class'=>'hello'); ?>

Будет показано, как показано ниже.

<!--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>

Чтобы получить подробное описание CHtml в yii, проверьте эту ссылку .

0 голосов
/ 13 ноября 2014
<?php echo CHtml::link("Label Text" , array("/controller_here/action_here") , array('class' => 'class_here')); ?>

или

<?php echo CHtml::link("Label Text" , Yii::app()->createUrl("/controller_here/action_here") , array('class' => 'class_here')); ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...