melomaniac
(Melomaniac2012)
July 8, 2013, 7:24pm
1
Всем добрый вечер. Есть такая вот конструкция:
<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',
),
Помогите пожалуйста
Charger
(Charger)
July 8, 2013, 8:06pm
2
и что именно не работает? Может одинарные кавычки
нужно заменить на двойные или заэскейпить? А то у тебя
'value'=>'...'
прерывается
melomaniac
(Melomaniac2012)
July 8, 2013, 8:35pm
3
Спасибо, но дело не в кавычках, я проверил
Charger
(Charger)
July 9, 2013, 5:10am
4
Телепаты в отпуске. Какая ошибка?
Поместите генерацию URL внутрь модели тогда, и вызывайте это метод, вместо генерации HTML
CLinkColumn
array(
'class'=>'CLinkColumn',
'label'=>'Подробнее',
'urlExpression'=>'$data->getUrl(array("name"=>$data->name))',
),
может так?
ineersa
(Ineersa)
July 9, 2013, 9:48pm
6
Блин ну реально ведь телепаты в отпуске. Что вообще такое этот ваш 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)))',
melomaniac
(Melomaniac2012)
July 11, 2013, 6:48pm
7
ineersa:
Блин ну реально ведь телепаты в отпуске. Что вообще такое этот ваш 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