Большое количество запросов к БД при использовании шаблонизатора Fenom
Пустой шаблон лишь с одним тегом (ТВ или любое стандартное поле ресурса) при использовании шаблонизатора Fenom создает 63 запроса к базе данных. При использовании внутреннего шаблонизатора MODX запросов всего 7. Опытным путем определил что это из-за большого количества ТВ параметров. Но почему в случае использования синтаксиса Fenom, MODX получает каждый ТВ отдельным запросом, даже при том что в шаблоне вообще может не быть ТВ тегов?
Вывод debugParser с пустым шаблоном и одним ТВ:
Вывод debugParser с пустым шаблоном с использованием синтаксиса Fenom (один ТВ):
Не охота возвращаться на стандартный шаблонизатор, очень полюбил Fenom. Кто знает, подскажите, почему так много запросов и можно ли что-то с этим сделать?
Вывод debugParser с пустым шаблоном и одним ТВ:
Вывод debugParser с пустым шаблоном с использованием синтаксиса Fenom (один ТВ):
Не охота возвращаться на стандартный шаблонизатор, очень полюбил Fenom. Кто знает, подскажите, почему так много запросов и можно ли что-то с этим сделать?
Комментарии: 3
Кто знает, подскажите, почему так много запросовЕсли распечатать содержимое ресурса, то можно увидеть, что к массиву добавляются все привязанные TV
{$_modx->resource | print}
Вот поэтому и разница в запросах.можно ли что-то с этим сделать?Можно заменить вот эту строчку:
$this->resource[$k] = $modx->resource->getTVValue($k)
на эту:$this->resource[$k] = $v[1]
Александр, спасибо! Заменил строку, теперь скорость отдачи страницы с кучей тв и условий на Fenom упала с ~0.35 до 0.15 секунд. Так это баг или фича?)
Ну, это точно не баг
Отправлю Василию pull request, посмотрим, что он скажет))
Отправлю Василию pull request, посмотрим, что он скажет))
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.