Загрузить картинку в виде ссылки CGridView

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
lodas
Сообщения: 171
Зарегистрирован: 2013.06.24, 15:54

Загрузить картинку в виде ссылки CGridView

Сообщение lodas »

Здравствуйте. У меня в виджите CGridView есть картинки:

Код: Выделить всё

array(
        'name'=>'Фото',
        'type'=>'image',
        'value'=> 'Yii::app()->baseUrl."./file/preview/$data->preview"',
        'filter'=>'',
        ), 
Понадобилось мне чтобы эта картинка вела на сам товар(не в админке), попробовал прикрутить ссылку:

Код: Выделить всё

'value'=> "echo CHtml::link(CHtml::image(Yii::app()->baseUrl.\"./file/preview/$data->preview\"), Yii::app()->controller->createUrl(\"index\", array(\"id\" => $data->id)))", 
Выдает ошибку(см. приложенную картинку)
Почему он выдает мне эту ошибку, ведь я нигде не использую функцию eval? Как сделать правильно, чтоб заработало? :)
Вложения
Error.jpg
Error.jpg (12.39 КБ) 2170 просмотров
Аватара пользователя
howard
Сообщения: 528
Зарегистрирован: 2012.11.16, 18:55
Откуда: Україна, Вінниця

Re: Загрузить картинку в виде ссылки CGridView

Сообщение howard »

1 вариант: Убрать echo.
2 вариант: Анонимная функция.
eval - https://github.com/yiisoft/yii/blob/1.1 ... t.php#L607
Агрегатор цен на услуги хостинга - https://hostcost.net
Аватара пользователя
lodas
Сообщения: 171
Зарегистрирован: 2013.06.24, 15:54

Re: Загрузить картинку в виде ссылки CGridView

Сообщение lodas »

howard, убрал echo
ошибка немножко другая, но в целом та же про eval():
Parse error: syntax error, unexpected ')' in Z:\home\eav\www\framework\base\CComponent.php(606) : eval()'d code on line 1
Что за "Анонимная функция"? Как ее оформить, что и в каком виде она должна возращать?
Аватара пользователя
howard
Сообщения: 528
Зарегистрирован: 2012.11.16, 18:55
Откуда: Україна, Вінниця

Re: Загрузить картинку в виде ссылки CGridView

Сообщение howard »

Код: Выделить всё

function($data) {
    echo CHml::image($data->preview)
} 
Агрегатор цен на услуги хостинга - https://hostcost.net
Аватара пользователя
yiijeka
Сообщения: 3103
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: Загрузить картинку в виде ссылки CGridView

Сообщение yiijeka »

Анонимная это - http://php.net/manual/ru/functions.anonymous.php

либо:

Код: Выделить всё

'value'=> 'CHtml::link(CHtml::image(Yii::app()->baseUrl . "/file/preview/" . $data->preview), Yii::app()->controller->createUrl("index", array("id" => $data->id)))',
Ответить