Василий Наумкин

Василий Наумкин

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Василий Наумкин
20 мая 2015, 16:33
0
Так было в старых версиях MODX Revolution. Ты давно обновлялся?
Василий Наумкин
20 мая 2015, 16:18
+1
И что?

Каждый раз, как ты что-то меняешь — генерируется новый кэш. Как, по твоему, вообще должен работать шаблонизатор, без компиляции что ли?
Василий Наумкин
20 мая 2015, 15:11
+2
Это не кэш MODX, это кэш Fenom, и он очищается при очистке системного.
Василий Наумкин
20 мая 2015, 13:39
0
Просто устанавливай пакет вручную.

По умолчанию парсер я не буду включать по многим причинам.
Василий Наумкин
20 мая 2015, 12:55
0
Если это в чанке, то сначала отработает Fenom
Если на странице — то MODX, потому что чанк кэшированный.
Если чанк на странице некэшированный, то первым сработает Fenom.
Василий Наумкин
20 мая 2015, 11:53
0
Наверное, придётся это пока оставить как [[+150x120]] — старые теги тоже должны работать.

Может, как-то получится это экранировать, но я пока не придумал как именно.
Василий Наумкин
20 мая 2015, 11:13
0
pdoParser включен? Лог сайта без ошибок? Кэш почистил?
Василий Наумкин
20 мая 2015, 09:33
0
Видимо, что-то не кэшируется.

Могу предложить попробовать modstore.pro/debugparser
Василий Наумкин
20 мая 2015, 06:35
0
Предлагаю это всё тебе протестировать самостоятельно, когда выспишься.
Василий Наумкин
20 мая 2015, 00:31
1
0
Как минимум с тем, что парсер MODX выбирает теги регулярками, создаёт из них объекты и запускает на выполнение.

pdoParser пробует их выполнить без объектов, а если не может — отдаёт в парсер MODX.

Ну а Fenom просто и без затей компилирует шаблон в исполняемый PHP код, который полюбому будет быстрее.

И осталась ли возможность использовать специальные плейсхолдеры типа [[#12.pagetitle]]?
Конечно. Теперь можно даже так:
{$modx->getObject('modResource', 12)->pagetitle}
Василий Наумкин
19 мая 2015, 22:36
+4
Ну ты и навелосипедил!

Обновляйся на 2.0.0-rc, включай pdoParser при установке, и можно использовать Fenom на страницах сайта и в шаблонах.

Вообще, короче, везде можно.
Василий Наумкин
19 мая 2015, 20:19
+1
Теперь достаточно написать один простенький сниппет (чтобы не извращаться через tplWrapper pdoResource'а), который подключает pdoTools и с помощью него выводит чанк из параметров сниппета (а в чанке уже можно писать что угодно) и всё, мать его, ВСЁ! xD

Не спеши, скоро будет обновление с улучшенным pdoParser:

Василий Наумкин
19 мая 2015, 18:29
+1
Попробуй указать
&limit=`999999`
&maxLimit=`999999`
Василий Наумкин
19 мая 2015, 16:57
0
TTFB в MODX — это время полной генерации всей страницы.

Потому что он отдаёт страницу на вывод только после того, как она готова, никаких промежуточных echo (а значит, и байтов) нет.

Копать в оптимизацию скорости генерации страницы, ориентируйся на плейсхолдер [^t^].
Василий Наумкин
19 мая 2015, 14:58
+2
Мне, почему-то, кажется, что автор неверно использовал PDO::prepare() без плейсхолдеров, а просто вручную составлял запрос, который потом засунул в эту функцию. Так, конечно, ничего не будет экранировано.

Вот правильный способ. Обратите внимание на
$this->xpdo->prepare($sql)->execute(array_values($record));
Василий Наумкин
19 мая 2015, 14:11
0
Да, я посмотрел исходники. Это хорошо работает для pdoPage, а для pdoMenu — нет.

В первом случае одна страница, а во втором несколько, вот в этом и разница.
Василий Наумкин
19 мая 2015, 14:01
0
Нет, кэшируются только данные, а не отрендеренные чанки.

Так что попробуй, может сработать.