BorisMor
(Borismor)
November 14, 2013, 4:19am
1
Добрый день!
Хочется получить ссылку вида
<a href="?r=adverts/frontend/list&Advert[car_firm_id]={id}">{name}</a></br>
для этого пишу
Chtml::link('{name}', array('/adverts/frontend/list','Advert[car_firm_id]'=>'{id'));
Но символы [ ] - переводяться в html %5B и %5D. Получаем:
<a href="/index.php?r=adverts/frontend/list&Advert%5Bcar_firm_id%5D=%7B{id}%7D">{name}</a>
Внимание вопрос: как получить желаемое?
Charger
(Charger)
November 14, 2013, 7:18am
2
Выглядит не очень хорошо, но что в этом плохого? Разве перейдя по этой ссылке вы не получаете $_GET[‘Adverb’][‘car_firm_id’] в своем контроллере?
Поправьте меня, если я не прав, но вроде именно так и должно быть по RFC.
Значения атрибутов тегов экранируются со страшной силой.
Если Вас это как-то напрягает - передавайте просто car_firm_id, а в actionList($car_firm_id = null) просто подцепляйте новое значение: $model->car_firm_id = $car_firm_id.
Charger
(Charger)
November 14, 2013, 7:47am
4
По хорошему это экранирование напрягать не должно. И делать, как в примере BorisMor, не отказываясь от MassAssigment
andy_s
(Arekandrei)
November 14, 2013, 9:59am
5
Это вы ещё значит не видели “настоящие” русскоязычные ссылки на википедии
BorisMor
(Borismor)
November 15, 2013, 2:55am
6
Извиняюсь что ввел в заблуждение.
Квадратные скобки отрабатываются нормально. Проблема была из-за экранирования фигурных скобок, но это решаемо.