Yii2 Как правильно реализовать pjax всего сайта?

Всем привет. В принципе работать с pjax умею, ничего сложного в нем нет. По крайней мере с частью кода. Однако я хочу перевести весь шаблон сайта на pjax, чтобы страницы загружались без перезагрузки страницы.

Блоки располагаются так. Слева меню, по центру контент и справа виджеты. Все стандартно.

Скажите, есть ли смысл запихивать весть сайт в pjax? Используют ли вообще так pjax или он больше для других целей? Где его нужно вставлять, чтобы было правильно и как лучше это делать с использованием такого шаблона?
  • Вопрос задан
  • 564 просмотра
Решения вопроса 2
@AlexndrNovikov
Senior Software Engineer epam.com
В первую очередь при возникновении такого вопроса стоит поинтересоваться - а зачем это вообще делать?

Но оставим этот вопрос висеть в воздухе, ответим на заданные.

Скажите, есть ли смысл запихивать весть сайт в pjax?Используют ли вообще так pjax или он больше для других целей?


Конкретно в pjax - нет. Yiiшный pjax это инструмент для оборачивания одного виджета для обеспечения его работы по ajax. Это даже по полному имени класса заметно - yii\widgets\Pjax Т.е чтобы весь сайт работал через pjax - нужно извратиться и сделать его весь - одним виджетом, пусть и со встроенными в него другими. Роутинг такого виджета станет вашим начным кошмаром, потому что стоковый Yiiшный к такому не готов - да и не должен

где его нужно вставлять, чтобы было правильно и как лучше это делать с использованием такого шаблона?

Если вам ехать, а не шашечки, то чтобы сделать Single page application используйте технологию для этого подходящую. React, Angular, Vue - весь мир современного фронтенда к вашим услугам. Да, не получится сделать это штатными средствами Yii, и не прокачаетесь в Pjax, но зато получите опыт написания Api на Yii (с которым будет работать SPA) и полноценного фронтенда.
Ответ написан
webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg
Yii2 Как правильно реализовать pjax всего сайта?

правильно такого не делать
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы