Geturl

Всем добрый вечер. Есть такая вот конструкция:


<a href="<?php echo $data->getUrl(array('name'=>$data->name)); ?>">Подробнее</a>

Особо не пинайте, я понимаю что не Yii way, но работает  <img src='http://www.yiiframework.com/forum/public/style_emoticons/default/smile.gif' class='bbc_emoticon' alt=':)' />



И вот в один прекрасный день, мне понадобилось засунуть этот код в виджет CGridView, а именно примерно так:




array(  

       'name'=>'Подробнее',

       'value'=>'<a href="$data->getUrl(array('name'=>$data->name))">Подробнее</a>',//Собственно как и ожидалось, данный вариант не работает  <img src='http://www.yiiframework.com/forum/public/style_emoticons/default/sad.gif' class='bbc_emoticon' alt=':(' /> 

       'type' => 'html',

        ),



Помогите пожалуйста :)

и что именно не работает? Может одинарные кавычки

нужно заменить на двойные или заэскейпить? А то у тебя


'value'=>'...'

прерывается

Спасибо, но дело не в кавычках, я проверил ;D

Телепаты в отпуске. Какая ошибка?

Поместите генерацию URL внутрь модели тогда, и вызывайте это метод, вместо генерации HTML

CLinkColumn




array(

    'class'=>'CLinkColumn',

    'label'=>'Подробнее',

    'urlExpression'=>'$data->getUrl(array("name"=>$data->name))',

),



может так?

Блин ну реально ведь телепаты в отпуске. Что вообще такое этот ваш getUrl()?

Насколько я помню есть такой метод только в CHTTPRequest, и обращение к нему идет из Yii::app().

Если неотображается ссылка поставьте ‘type’=>‘raw’ (если ненужна ссылка на всю колонку).

Если другая ошибка - присмотритесь к пространству имен. $data в CGridView внутреняя переменная. Вот подробнее http://www.yiiframework.com/wiki/252/special-variables-in-cgridview-and-clistview/

Если же это метод в контроллере напишите




'name'=>'Name',

'type'=>'raw',

'value'=>'CHtml::link("Подробнее",array($data->getUrl(array("name"=>$data->name)))',



Спасибо, гляну. getUrl() это с расширения http://www.yiiframework.com/extension/seo