Всего 125 962 комментария

Василий Наумкин
24 апреля 2022, 11:28
0
Даже 100 ресурсов — это большая редкость.
Я тебе привожу пример, что нет — не редкость.

Как справится парсер MODX с выводом такой ветки комментариев, если он каждый тэг и условие будет превращать в modTag и запускать его parse?

PHP шаблонизатор всё еще только про удобство, а не скорость?
Сергей Шлоков
24 апреля 2022, 11:24
0
Читаем внимательно и до конца.
Василий Наумкин
24 апреля 2022, 11:18
0
Вот в этой заметке сейчас 890 комментариев и она выводится плюс-минус за 1 секунду на Fenom с разными условиями.

Выводится без кэша, потому что комментарии отличаются для каждого юзера. Админу выводятся удалённые, автору подсвечиваются его ответы и т.д.

Попробуйте это повторить на парсере MODX. Не думаю, что вывод комментариев на сайте это прям такая уж редкая задача.
Андрей
24 апреля 2022, 11:04
0
префикс я наоборот добавлял, стандартный tv, это не помогает. если его убрать то тоже ошибка
Error 42S22 executing statement: 
Array
(
    [0] => 42S22
    [1] => 1054
    [2] => Unknown column 'modResource.vznos' in 'where clause'
)
Алексей Смирнов
24 апреля 2022, 10:29
0
Сергей, я как раз понимаю что раз кеш уменьшился значит меньше данных попало в кеш. Но от этого принципиально скорость не уменьшилась или увеличилась.
Вот о чем речь. и да там лишние 10 запросов. но в моем случае — не страшно было.
Сергей Шлоков
24 апреля 2022, 10:20
0
Прочитал про размер кэша. Твоё удивление от непонимания. Что такое кэш? Это статичные данные. Если у тебя кэш на феноме в 10 раз меньше, то есть повод задуматься — всё ли закэшировалось? Отсюда и лишние запросы к БД. Конструкция {include 'чанк'} никогда не кэширует чанк.

Просто с таким же успехом можно восхищаться пустой папкой кэша после того, как ты его отключишь.
Сергей Шлоков
24 апреля 2022, 10:12
0
Наверно поиском [[$ по таблицам контента, шаблонов и чанков. Или заюзать событие OnParse.
Сергей Шлоков
24 апреля 2022, 10:11
+1
Точных сроков дать не могу. Как появится свободное время.
Дмитрий Середюк
24 апреля 2022, 02:23
0
Насколько помню есть параметр tvPrefix и он по умолчанию равеy 'tv.' Попробуйте указать
$params['tvPrefix'] = '';
Stepan
23 апреля 2022, 23:56
+1
есть там некоторые ограничения из-за LEFT JOIN при includeTVs
а у вас не правильно, тут полюбас будет так:
$params['where'] = ['pagetitle'=> $stag];
и сделайте если под админом
$params['showLog'] = 1;
и return на время теста отключите
Андрей
23 апреля 2022, 23:46
0
Да, проблема была в хостинге.
Артур Шевченко
23 апреля 2022, 23:16
0
Ну не знаю, я бы наверное вообще отказался от вызова сниппета в своём сниппите.
Андрей
23 апреля 2022, 22:49
0
Весь код там большой, 4 аналогичные выборки и обработка полученных данных. В 3-х из них этот TV параметр у родителя, поэтому я вынужден получать его через дополнительный запрос, а в этом случае этот параметр есть у самого ресурса.
И еще смущает что когда я его выбираю как он называется (vznos), то страница наглухо падает от 500 ошибки, а если как tv.vznos то ошибки нет, код работает корректно, кроме того что в полученном json массиве нет нужного TV параметра.
Артур Шевченко
23 апреля 2022, 22:30
0
А весь код покажи.
Андрей
23 апреля 2022, 22:17
0
Точнее не бывает, я его потом все равно получаю, через getObject и getTVValue.
Просто получается лишний запрос, ну и в принципе хотелось бы понять что не так, для понимания.
Андрей
23 апреля 2022, 22:04
0
Была такая мысль, но тогда наверное ошибка в логах была бы. Но, пожалуй, напишу хостеру на всякий случай.
Артур Шевченко
23 апреля 2022, 21:58
0
Хостер не мог забанить?
Артур Шевченко
23 апреля 2022, 21:55
0
За исключением того о чём я писал выше, ошибок я не вижу. vznos это точно ТВ?
Андрей
23 апреля 2022, 21:31
0
Папку спам проверял, высылал и на почту Яндекса и на почту Гугла.
Пробовал отправлять сообщения сниппетом Register, Sendex и встроенной функцией восстановления пароля в MODX.

Ошибки, конечно, есть. Я тестировал другой сниппет и там были ошибки.
Но по времени если брать, время вызова phpmailer, то в это время ошибок не было.
Андрей
23 апреля 2022, 21:23
0
Очень сомнительно. Если я включаю в выборку TV параметр vznos, а не tv.vznos, то ошибка не пропадает даже если я вообще убираю where.
С другой стороны, без tv параметров условие прописанное в where работают.