msMiniCart 34 запроса

Подскажите, кто поборол — сниппет msMiniCart с пустой корзиной = 34 запроса и 0,2сек парсинг.
Сергей Кепкин
30 ноября 2017, 15:09
modx.pro
1 232
0

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

Володя
30 ноября 2017, 18:45
1
+1
а чего его бороть? в ajax заверни и все.
    Сергей Кепкин
    30 ноября 2017, 20:18
    0
    дыг я заворачивл. в ?debug=1 также показывает. или я чо-то путаю?
      Сергей Кепкин
      30 ноября 2017, 21:20
      0
      ааа, у меня два вызова было. завернул оба в аджакс — все пучком.
      осадочек остался… что там эта корзина получает 34 запросами???
    Василий Наумкин
    01 декабря 2017, 11:23
    0
    На демо-сайте миникорзина выводится за одну сотую

    Запросы в БД замеряются до разбора тега и после, так что туда попадает и всё, что происходит внутри тега — любые вызовы сниппетов, чанков и лексиконов. Но даже при этом, на демо-сайте всего 10 запросов, а никак не 34.
      Володя
      01 декабря 2017, 11:32
      0
      на демо-сайте всего 10 запросов, а никак не 34.
      возможно у автора переоптимизация случилась...)
        Сергей Кепкин
        01 декабря 2017, 14:35
        0
        В каком смысле
        переоптимизация
        ?

        Ну было две корзины, для моб варианта и обычная.
        Вызывался переработанный чанк tpl.msMiniCart — удалены все лексиконы и тоталкост, т.е. оставлен только подсчет кол-ва в штуках. Ну и без фенома. Кстати, интересно, если устанавливать минишоп2 из репо, то этот чанк без фенома, а на демо-сайте — с ним. Многогранный вопрос.
        Получалось 34 запроса.

        Решил старым добрым аджаксом, совет от Володи тоже хороший, через ajaxSnippet, но во первых крутилка никак не вписывалась в место для мини-корзины, спрятать можно конечно, но зачем?)) И во-вторых, таки ajaxSnippet сам добавляет два запроса. Идти, так уж до конца!!))

        Поэтому сделал через запрос (после загрузки страницы) к служебной странице, на которой размещен вызов сниппета миникорзины. Теперь в debug миникорзина полностью отсутствует)))
          Володя
          01 декабря 2017, 14:42
          0
          Решил старым добрым аджаксом, совет от Володи тоже хороший, через ajaxSnippet, но во первых крутилка никак не вписывалась в место для мини-корзины, спрятать можно конечно, но зачем?)) И во-вторых, таки ajaxSnippet сам добавляет два запроса. Идти, так уж до конца!!))
          я просто советовал такие вещи заворачивать в аякс. Каким способом каждый решает как ему удобней.
      Сергей Кепкин
      01 декабря 2017, 14:38
      0
      да, еще забыл уточнить — когда в предыдущем варианте корзины (34 запроса) добавлял товар, то на каждый товар добавлялось по 2 запроса!!)) т.е. в корзине 3 товара — миникорзина требует 40 запросов. и т.д.
        Володя
        01 декабря 2017, 14:41
        0
        может ты не миникорзину использовал? а чего то другое? или генномодифицированное…
          Сергей Кепкин
          01 декабря 2017, 14:58
          0
          Я Остап и чо-то меня понесло, переставил на аджакс все, что на втором и т.д. экране)))
          Главная страница:
          — слайдер из 4 слайдов через четыре tv,
          — 8 баннеров через шестнадцать tv,
          — две миникорзины,
          — 3 блока (новинки, популярное, со скидкой) по восемь товаров через ТРИ отдельных вызова msProducts совместно с msFavorites, рейтингом от EasyComm, старая цена от msSalePrice
          — 1 блок с 12 товарами (Эти товары купили сегодня) через msProducts
          — все эти блоки тащат по две картинки на товар
          — кастомный сниппет для рефералов
          — что-то еще)))
          ИТОГО))):
          Total parse time 0.2204790 s
          Total queries 31
          Total queries time 0.0220895 s
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        10