@Silverviql

Можно ли сделать якорь при redirect в PHP?

У меня есть таблица в ней у строк есть data-key="11" где 11 это id в бд.
Редирект выглядит так: return $this->redirect(['todoist/index', 'id' => $model->id_zakaz]); Но так как у меня нету страницы с задачами некуда возращаться по id, поэтому я хочу чтобы он перенаправлялся на страницу задач и якорем переходил к строке таблицы.
Как можно добавить к нему еще якорь на data-key="11" :?
Если я как то по китайский объяснил спрашивайте). Спасибо.

5ae47479129fa907869170.png
  • Вопрос задан
  • 1168 просмотров
Решения вопроса 1
slo_nik
@slo_nik Куратор тега Yii
Добрый вечер.
Приблизительно так
return $this->redirect(['index',  '#' => 'custom-order-form']);

Переведёт на страницу index, к <div id="custom-order-form">

P.S.
Для строки задаём параметр id, в котором будет содержаться id записи в базе. Пусть это будет столбец "id" в таблице GridView, хотя так параметр можно задать для любой ячейки.
[
    'attribute' => 'id',
    'headerOptions' => ['class' => 'head-id-column'],
    'contentOptions' => function($model){
           return ['id' => 'test-' . $model->id];
        }
],

Далее, в контроллере прописываем redirect с нужным параметром.
return $this->redirect(['index', '#' => 'test-' . $id]);

Всё, "якорь" готов.

P.S.S
Или. Не делать 'contentOptions', а сделать 'rowOptions'.
GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' => $searchModel,
        'rowOptions' => function($model){
            return ['id' => 'test-' . $model->id];
        },
        'columns' => [
            // остальной код
         ],
    ]);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
demon416nds
@demon416nds
Разработчик на чем попало
можно
но имхо удобнее юзать
header("Location: http://www.example.com/#44"); /* Redirect browser */

чем разбираться в чужих классах
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы