Как ускорить работу mSearch2?

На сайте почти 100 тыс товаров. Поиск mSearch2 по некоторым запросам может доходить до полминуты. Вызов стандартный:

{var $res = $_modx -> runSnippet('!msearch2', [
    'parents' => 2,
    'returnIds' => 1,
    'limit' => 'none'
])}

{$_modx -> runSnippet('!pdoPage', [
    'element' => 'msProducts'
    'parents' => 2,
    'resources' => $res,
    'where' => '{"Data.remains:>=": 1}',
    'tpl' => '@FILE chunks/tovarPreview4row.tpl',
    'includeThumbs' => '140x140',
    'limit' => 24,
    'showLog' => 1
])}


Как можно ускорить выборку?
Например чтобы искал только по полю pagetitle?
ViktorK
27 февраля 2024, 22:10
modx.pro
179
0

Почему путь к изображению не полный в msProducts?

Всех приветствую!
Пытаюсь вывести карточки товара с дополнительным полем изображения (system_imagePage) использую msProducts. Но путь к изображению формируется неполный.
{$_modx->runSnippet('msProducts', [
'showHidden' => 0,
'showUnpublished' => 1,
'parents' => 24,
'depth' => 0,
'scheme'=> 'abs',
'sortby' => '{«menuindex»:«ASC»}',
'tvPrefix'=>'',
'includeTVs' => 'catalog_heatingAreaLabel, system_imagePage',
'useWeblinkUrl' => '1',
'tpl' => '@FILE default/chunks/tpl/catalog/item/card.tpl'
])}

Чанк
<div class="col-12 col-md-6 col-xl-4">
  <div class="catalog-item">

      <div class="catalog-item__stickers">
        {if $new} <div class="catalog-item__sticker">Новинка</div> {/if}
        {if $popular} <div class="catalog-item__sticker">Хит</div> {/if}
        {if $favorite} <div class="catalog-item__sticker">Рекомендуем</div> {/if}
      </div>

    <div class="catalog-item__top">
      <div class="catalog-item__image">
        <img src="{$system_imagePage}" alt="{$pagetitle}">
      </div>
      <div class="catalog-item__title"><a class="link-primary" href="{$id | url}">{$pagetitle}</a></div>

      <div class="catalog-item__label">{$catalog_heatingAreaLabel}</div>

      <div class="catalog-item__characteristics">
        {$_modx->runSnippet('msProductOptions', [
          'product' => $id,
          'tpl' => '@FILE default/chunks/tpl/catalog/item/options.tpl',
          'onlyOptions' => 'thermalPower, dimensions, fuelСonsumption, MaximumLogLength, waterVolume, weightWithoutWater'
        ])}
      </div>

      <div class="catalog-item__price-wrapper">
        <span class="catalog-item__price">{$price} ₽</span>
        {if $old_price != 0}
          <span class="catalog-item__old-price">{$old_price} ₽</span>
        {/if}
      </div>
    </div>
    <div class="catalog-item__bottom">
      <form class="form-horizontal ms2_form" method="post">
        <input type="hidden" name="id" value="{$id}"/>
        <input type="hidden" name="count" id="product_price" class="form-control col-md-6" value="1"/>
        <button type="submit" class="btn btn--block btn--brand js-catalog-btn-buy" name="ms2_action"
                value="cart/add">
          Купить
        </button>
      </form>
      <a href="{$id | url}" class="mt-3 btn btn--block
     ">Подробнее</a>
    </div>
  </div>
</div>
Кирилл
27 февраля 2024, 07:31
modx.pro
179
0

modx_session занимает все место приблизительно за неделю.

Здравствуйте.
Я ранее уже сталкивался с большой по объему таблицей modx_session, но на одном из моих сайтов сейчас твориться что-то неведанное. Хостинг отводит под сайт 5 Гб и это место таблица выедает за 1-2 недели. Что с этим можно сделать? Можно ли как-то автоматизировать ее очистку?
Алексей
26 февраля 2024, 09:23
modx.pro
196
0

Проблема с изображением

В дополнительные поля (TV) при сохранении изображения на самом сайте это изображение не отображается
ЦНТБ
26 февраля 2024, 06:42
modx.pro
195
0

[SendIt] Большое обновление загрузки файлов в версии 1.2.1

Приветствую, коллеги. Хочу представить вашему вниманию новую версию, кое-кому полюбившегося компонента Sendit.
Артур Шевченко
25 февраля 2024, 20:59
modx.pro
443
+10

Перенос заказов shopkeeper в shopkeeper3

Всем привет.

Может кому-то пригодится. Переносил заказы из shopkeeper в shopkeeper3, использовано на основе сниппета shk_fihook, через консоль. Предварительно сделав бекап таблицы в виде PHP файла.

Пример:
Alexander
25 февраля 2024, 13:39
modx.pro
192
0

Как загрузить данные из PHP после капчи без перезагрузки страницы?

Приветствую.

Опишу ситуацию, чтобы было понятно.
Есть страница сайта. Перед ее отдачей работает код PHP. Этот код проверяет IP-адрес посетителя. Если с IP-адресом все нормально, то посетитель увидит перед собой страницу сайта. Если же IP-адрес попадает под фильтр, то вместо страницы посетитель увидит перед собой капчу. Ну, а как это обычно бывает: если посетитель решает капчу, то ему показывается страница, а если не решает — будет решать капчу до бесконечности, если не надоест, разумеется.

Я не пойму то, как можно отдать посетителю страницу после решения им капчи без перезагрузки страницы. Сайт работает на PHP.
weranda
25 февраля 2024, 12:27
modx.pro
413
0

Доработки по сайту - верстка шапки и подбор товаров

14 14 000
Требуется сделать доработки по сайту dveriklinskie.ru/ — переверстать шапку и сделать подбор товаров.

Сайт работает на MODX Revo, все доработки сначала нужно делать в отдельном шаблоне, потом уже выкатывать на сайт.

Макеты тут — dveriklinskie.ru/psd.rar

Андрей
24 февраля 2024, 13:08
modx.pro
91
0

Два условия whery PdoPage

Есть такой вывод
{$_modx->runSnippet('!pdoPage', [
                'element' => 'migxLoopCollection',
                'classname' => 'HistoryPayment\Model\Payment',
                'tpl' => 'pay',
                'where' =>["status1" => "0", "AND:date1:<"=>"2024-02-23"],
                ])}
как указать условие ИЛИ
"status2" => "0", "AND:date2:<"=>"2024-03-23"
vit
vit
23 февраля 2024, 17:06
modx.pro
207
0

Вывод прайс-листа на главной странице

Здравствуйте.
На главной странице нужно вывести прайс в таком виде:
Категория 1
  • Товар 1 — цена
  • Товар 2 — цена
Категория 2
  • Товар 3 — цена
  • Товар 4 — цена
и т.д…
Проще всего использовать сниппет msProducts и для каждой категории товаров выводить результаты сниппетом msProducts, но когда категорий много, то использование множества выводов сниппета тормозят загрузку страницы.
{'!msProducts' | snippet : [
        'parents' => 'id категории',
        'tpl' => '@FILE chunks/tpl_price.tpl',
        'limit' => 0
        ]}
Может кто делал подобное и подскажет как вывести прайс через placeholder ({'result' | placeholder}) с проверкой на ID категории, чтобы вывести название категории и ее товары? То есть сниппет msProducts вызвается один раз, а затем результаты выводятся placeholder.
Дмитрий
23 февраля 2024, 13:26
modx.pro
241
0