myks92
@myks92
Нашёл решение — пометь вопрос ответом!

Yii как сделать ссылку назад?

Всем привет) Есть такая задача. Нужно сделать ссылку на уровень вверх. В фреймворке есть Yii::$app->request->referrer. Однако она кидает пользователя на прошлую страницу. А если мне нужно вернуться назад "по дерев" как в хлебных крошках... Возможно можно от туда извлекать...

Например. Главная -> Мероприятия ->Просмотр

Кнопка назад сначала вернет на мероприятия, а затем на главную.

Сейчас сделал такой виджет. Как его можно доработать?

class BackUrl extends Widget
{

    public $url;

    public function init()
    {
        parent::init();

        if ($this->url === null) {
            if (Yii::$app->request->referrer){
                $this->url = Yii::$app->request->referrer;
            } else {
                $this->url = ['index'];
            }
        }
    }

    public function run()
    {
        return Html::tag('div', Html::a('<i class="fa fa-chevron-left"></i> Назад', $this->url),['class'=>'back-url']);
    }

}
  • Вопрос задан
  • 473 просмотра
Решения вопроса 1
Данный виджет должен работать в паре с виджетом отображения хлебных крошек, а именно палить какой сейчас урл активный, и если у него есть родитель то выводить ссылку на родителя, анализируя при это иерархию хлебных крошек. Сессия, куки, Yii::$app->request->referrer, Url::remember() тут не нужны
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы