Как Увеличить скорость работы сайта
Всем доброго времени суток. Очень надеюсь на помощь людей которые занимались оптимизацией скорости работы сайта на modx.
Что имеем.
MODX Revolution 2.8.5
Minishop2 последняя версия
Фильтрация работает через mfilter2
Имеет категория товаров на ней с помощью плагина debugparser смотрим скорость отдачи страницы
Другая категория выглядит вот так
Все перевел на fenom и на файлы. Но скорость все равно оставляет желать лучше.
Товаров всего около 7к на двух языках.
Подскажите что можно сделать для увеличения скорости работы сайта. Спасибо.
Что имеем.
MODX Revolution 2.8.5
Minishop2 последняя версия
Фильтрация работает через mfilter2
Имеет категория товаров на ней с помощью плагина debugparser смотрим скорость отдачи страницы
Другая категория выглядит вот так
Все перевел на fenom и на файлы. Но скорость все равно оставляет желать лучше.
Товаров всего около 7к на двух языках.
Подскажите что можно сделать для увеличения скорости работы сайта. Спасибо.
Комментарии: 9
Попробовать:
1. отключить suggestions и посмотреть время
2. временно убрать почти все фильтры (оставить 1-2) и посмотреть время
2. покажите чанк с товаром, может там чего?
1. отключить suggestions и посмотреть время
2. временно убрать почти все фильтры (оставить 1-2) и посмотреть время
2. покажите чанк с товаром, может там чего?
<div class="ms2_product col-6 col-sm-6 col-md-4 mb-3 px-2">
<div class="product text-center">
{var $productimage = 'phpthumbon' | snippet : ['input' => $_pls['$thumb'], 'options' => 'h=200&f=jpg&bg=ffffff']}
{var $productimagewebp = 'phpthumbon' | snippet : ['input' => $_pls['$thumb'], 'options' => 'h=200&f=webp&bg=ffffff']}
[[!addComparison?
&list_id=`15`
&id=`[[+id]]`
]]
<a href="{$uri}" class="clr3" title="{$_modx->resource.pagetitle} {$pagetitle}">
<picture>
<source srcset="{$thumb}" type="image/webp">
<source srcset="{$thumb}" type="image/jpg">
<img src="{$thumb}" alt="{$_modx->resource.pagetitle} {$pagetitle}" title="{$_modx->resource.pagetitle} {$pagetitle}" class="lazy img-fluid">
</picture>
<div class="flags ">
{if $new?}
<span class="badge badge-secondarynew badge-pill mr-md-1">{'ms2_frontend_new' | lexicon}</span>
{/if}
{if $popular?}
<span class="badge badge-secondarytop badge-pill mr-md-1">{'ms2_frontend_popular' | lexicon}</span>
{/if}
{if $favorite?}
<span class="badge badge-secondaryfav badge-pill mr-md-1"> {'ms2_frontend_favorite' | lexicon}</span>
{/if}
{if $sklad?}
<span class="badge badge-secondarysklad badge-pill mr-md-1"> {'ms2_frontend_sklad' | lexicon}</span>
{/if}
</div>
</a>
<div class="product-info">
<p class="font-weight-bold text-uppercase h4">
<a href="{$uri}" class="clr3" title="{$_modx->resource.pagetitle} {$pagetitle}">
[[+titletovar:ifempty=`[[+pagetitle]]`]]
</a></p>
[[!ecThreadRating?
&thread=`resource-[[+id]]`
&tpl=`RatingTovar`
]]
{$_modx->runSnippet('msOptions', [
'product' => $id,
'options' => 'tags',
'tpl' => '@FILE chunks/catalog/ProductOptions.tpl',
])}
{$_modx->runSnippet('msOptions', [
'product' => $id,
'options' => 'brand,made_in,available',
'tpl' => '@FILE chunks/catalog/msOptionsTags.tpl',
])}
{if $old_price?}
<img src="assets/img/icons/promo-badge.svg" alt="Иконка Акции" width="40" height="40" loading="lazy" class="promobadge">
<span class="old_price ml-md-3"><del>{$old_price} {'ms2_frontend_currency' | lexicon}</del></span>
{/if}
<p class="price clr1 font-weight-bold">
[[+price:is=`0`:then=`[[*context_key:is=`web`:then=`Цена по запросу`:else=`Ціна за запитом`]] `:else=`{$price} {'ms2_frontend_currency' | lexicon}`]]
</p>
<a href="{$uri}" class="product-link" title="{$_modx->resource.pagetitle} {$pagetitle}">{'ms2_frontend_add_to_cart' | lexicon}</a>
</div>
</div>
</div>
Чанк
Ну у вас прям навороченный чанк…
Во-первых избавляйтесь от phpthumbon.
Во-вторых уберите встроенный синтаксис modX (с прямоугольными скобками который).
Если у вас выводится на странице много товаров — стоит попробовать вместо вызова ecThreadRating делать join таблицы чтобы получать рейтинг товара.
Два вызова msOptions тоже… может как-то упростить?
Во-первых избавляйтесь от phpthumbon.
Во-вторых уберите встроенный синтаксис modX (с прямоугольными скобками который).
Если у вас выводится на странице много товаров — стоит попробовать вместо вызова ecThreadRating делать join таблицы чтобы получать рейтинг товара.
Два вызова msOptions тоже… может как-то упростить?
Во-первых избавляйтесь от phpthumbon.
Чем посоветуете заменить?
Если у вас выводится на странице много товаров — стоит попробовать вместо вызова ecThreadRating делать join таблицы чтобы получать рейтинг товара.
Если не трудно покажите как это сделать?
Чем посоветуете заменить?
Если у вас выводится на странице много товаров — стоит попробовать вместо вызова ecThreadRating делать join таблицы чтобы получать рейтинг товара.
Если не трудно покажите как это сделать?
1. нагенерируйте нужные превью, указав их в источнике файлов miniShop2
2. см. доки docs.modx.pro/components/easycomm/rating-in-pdoresources-and-msproducts
2. см. доки docs.modx.pro/components/easycomm/rating-in-pdoresources-and-msproducts
Вывожу таким образом рейтинг
Как в документации и получаю просто звезды пустые. Как будто голосов нет. При этом выше вызов
Показывает звезды там где есть голоса.
{'ecThreadRating' | snippet : [
'tpl' => 'RatingTovar',
'thread' => 'resource' ~ $id,
]}
Как в документации и получаю просто звезды пустые. Как будто голосов нет. При этом выше вызов
[[!ecThreadRating?
&thread=`resource-[[+id]]`
&tpl=`RatingTovar`
]]
Показывает звезды там где есть голоса.
В параметре thread рядом с resource потерян дефис:
'resource-' ~ $id
Спасибо. Вызов взят кстати из документации.
значит там опечатка)))
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.