У меня есть главный шаблон views/layouts/main.php в котором происходит подключение:
$this->head()
$this->beginBody();
echo $this->render('..' . DIRECTORY_SEPARATOR . 'layouts' . DIRECTORY_SEPARATOR . '_header_index').PHP_EOL;
echo $this->render('..' . DIRECTORY_SEPARATOR . 'layouts' . DIRECTORY_SEPARATOR . 'menu').PHP_EOL;
echo $content;
echo $this->render('..' . DIRECTORY_SEPARATOR . 'layouts' . DIRECTORY_SEPARATOR . '_footer').PHP_EOL;
$this->endBody();
$this->endPage()
Среди этого всего есть, как видите
echo $this->render('..' . DIRECTORY_SEPARATOR . 'layouts' . DIRECTORY_SEPARATOR . 'menu').PHP_EOL;
и мне очень не нравится, что оно грузится до того как загрузилась страница. Несмотря на то, что эта часть у меня в кеше из-за довольно-таки большого массива html подгрузка меню в такой очерёдности убивает около 8-9% по показателю пейджспида от гугла.
Соответственно вопрос: как можно зарендерить это меню в это же место, где оно находится сейчас после загрузки страницы? Может есть параметр, отвечающий за очерёдность загрузки блоков страницы? Самый плохой вариант, как по мне, - это
$(document).ready(function(){
//и как-то тут рендерить
})
Может кто-то знает какой-то виджет или плагин, который позволяет назначать очерёдность загрузки блоков и назначать события по которым они подгружаются? Не охота везде голый Query и Ajax тулить, хочется модулем каким-то.