Большое количество запросов к БД при использовании шаблонизатора Fenom

Пустой шаблон лишь с одним тегом (ТВ или любое стандартное поле ресурса) при использовании шаблонизатора Fenom создает 63 запроса к базе данных. При использовании внутреннего шаблонизатора MODX запросов всего 7. Опытным путем определил что это из-за большого количества ТВ параметров. Но почему в случае использования синтаксиса Fenom, MODX получает каждый ТВ отдельным запросом, даже при том что в шаблоне вообще может не быть ТВ тегов?

Вывод debugParser с пустым шаблоном и одним ТВ:




Вывод debugParser с пустым шаблоном с использованием синтаксиса Fenom (один ТВ):



Не охота возвращаться на стандартный шаблонизатор, очень полюбил Fenom. Кто знает, подскажите, почему так много запросов и можно ли что-то с этим сделать?
Богдан
12 мая 2018, 07:44
modx.pro
2
1 317
+1

Комментарии: 3

Aleksandr Huz
12 мая 2018, 14:41
3
+3
Кто знает, подскажите, почему так много запросов
Если распечатать содержимое ресурса, то можно увидеть, что к массиву добавляются все привязанные TV
{$_modx->resource | print}
Вот поэтому и разница в запросах.

можно ли что-то с этим сделать?
Можно заменить вот эту строчку:
$this->resource[$k] = $modx->resource->getTVValue($k)
на эту:
$this->resource[$k] = $v[1]
    Богдан
    12 мая 2018, 17:34
    0
    Александр, спасибо! Заменил строку, теперь скорость отдачи страницы с кучей тв и условий на Fenom упала с ~0.35 до 0.15 секунд. Так это баг или фича?)
      Aleksandr Huz
      12 мая 2018, 18:15
      +1
      Ну, это точно не баг
      Отправлю Василию pull request, посмотрим, что он скажет))
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    3