Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 145 комментариев

Олег Ракул
Олег Ракул
ладно, не будем парить мозги, я видимо через css+js проблему решу
изображение по умолчанию через jquery влеплю css
а introtext если пустой, скажу тултипу чтобы не всплывал -)

зы: но за другое решение спасибо, всегда пригодится!
Василий Наумкин
Василий Наумкин
Копируй и меняй msProducts, вынося в него эти дефолтные подстановки.

Прям
вот тут добавляй типа такого:
if (empty($row['introtext'])) {$row['introtext'] = $row['pagetitle'];}

Ну а чанке оставляй просто [[+introtext]] — сниппет туда подсунет что есть.
Лучше и быстрее не сделать.

Если все так переделаешь — можно будет включить fastMode и тогда твоя выборка еще быстрее будет работать.
Василий Наумкин
Василий Наумкин
Я бы убрал все лишнее, чтобы чанк обрабатывался быстро, без условий.
<li class="span2 img_link" style="margin-right:-10px;" title="[[+introtext]]">  
	<a href="/[[+uri]]">
		<img src="[[+thumb]]" alt="" width="150" height="150" align="right"/>  
	</a>  
</li>

Если же прям необходимы условия default — то придется копировать и менять сниппет. Ну или забыть о выводе сразу стольких товаров.
Василий Наумкин
Василий Наумкин
Ну а теперь комментируй по очереди плейсхолдеры и замеряй скорость.

Комментировать надо установкой минуса, в начале. То есть, вот так:
[[-+thumb]]

Видимо на странице остается дофига необработанных плейсхолдеров, и парсер их срочно обрабатывает — отсюда и тормоза. Нужно найти, что именно остается и заменить.
Олег Ракул
Олег Ракул
ну я вот нарыл, не мой кривой код, а возможно кривой код конкретно этого блока, хотя я ничерта не понимаю, тут тупо вывод ничего ж криминального, но убираю этот блок и сразу грузится 5 сек., т.е. весь остальной код прибавляет секунду, полторы к выдаче — не смертельно

<li class="span2 img_link" style="margin-right:-10px;" title="[[+introtext:default=`[[+pagetitle]]`]]">  
    <a href="[[~[[+id]]]]">  
      <img src="[[+thumb:default=`[[++assets_url]]components/minishop2/img/web/ms2_small.png`]]" alt="" width="150" height="150" align="right"/>  
    </a>  
  </li>
Василий Наумкин
Василий Наумкин
Ты выводи всегда плейсхолдер [^t^] — это полный рендер страницы парсером.
А лог pdoTools показывает только свою собственную работу.

Тут, как видим, у тебя опять разница между выводом каталога и самой страницей в разы. Значит да, на ней что-то не то.
Олег Ракул
Олег Ракул
сриншот

Бред. Причем network хрома везде пишет микросекунды, т.е. каким-то мистическим образом так долго только страница выводится, а не ее компоненты. Попробую отключить все проверки и посмотрю.
Не нравится как ведет себя хостер, мелкий и задиристый. Кроме крика про кривой код и графиков его не факт что нормальной работы, которую загружает плохой сайт с кривым кодом я от него ничего не услышал.ж
Олег Максименко
Олег Максименко
он только готовую страницу кушает
это вы о чём?

а как это сделать с постепенной отдачей от сервера?
например, пишется сниппет-обертка для того сниппета, каким вы выводите товары. только передаете ему параметры limit и offset