
Полезно создать в модели функцию, которая будет отвечать за формирование URL. Затем её будет удобно использовать в видах, чтобы каждый раз не прописывать Url.
В модели добавляем следующий метод
Yii2:
public function getUrl() { return Url::toRoute(['/blog/view', 'id' => $this->id, 'alias' => $this->alias]); // абсолютный роут вне зависимости от текущего контроллера }
Yii:
public function getUrl() { return Yii::app()->createUrl('material/view', array( 'id'=>$this->id, 'alias'=>$this->alias, )); }
Теперь в виде можно обращаться к этой функции
Yii2:
<?= Html::a('<h2 class="post-title">'.Html::encode($model->title).'</h2><h3 class="post-subtitle">'.Html::encode($model->subtitle).'</h3>', $model->url);?>
Yii:
<?php echo CHtml::link(CHtml::encode($data->title), $data->url, $itemOptions=array('class'=>'header3')); ?>
или
<a href = "<?=$data->url;?>">
В Yii2 список создаётся виджетом LtisView и в видех _view vj;yj использовать $model. В Yii - для доступа к свойствам dataProvider используется переменная $data. Этим и обусловлено обращение к $model и к $data для разных версий фреймворка.
17 августа 2015, Программирование, веб-кодинг
16 января 2023

Yii2-user сменить текущего пользователя или переход на другого пользователя (SwitchIdentity)
Impersonate User / Become another user
12 декабря 2022

Yii2: uclead MultipleInput + kartik DepDrop
Настраиваем множественные поля с выпадающим списком