Вопросы

как правильно реализовать меню категорий товара из ссылками на фильтры по значению TV поля?

может не совсем понятно сформулирован вопрос, но на скрине суть должна стать ясной

вроде типичная задача для магазинов
где «виды», «место» и т.д. это тв-поля
для каждой категории вывести надо значения этих полей (если они содержатся в товарах категории)
а ссылка должна вести на категорию с выбранным фильтром
ну т.е. выбирают люстры со стилем Ампир и ссылка такого типа будет /lyustryi/?tv|ms_type-svet=Ампир
можете подсказать, с какой стороны подойти к этой задачи?
ведь кейс не редкий, а я в апи модх не силен, что бы это все «обкрутить» через снипеты
alexandr.skyrda
28 февраля 2024, 00:59
modx.pro
2 108
0

Как ускорить работу 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
636
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
582
0

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

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

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

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

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

Всем привет.

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

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

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

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

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

Я не пойму то, как можно отдать посетителю страницу после решения им капчи без перезагрузки страницы. Сайт работает на PHP.
weranda
25 февраля 2024, 12:27
modx.pro
908
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
541
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
774
0

Как убрать параметры из url, чтобы они не учувствовали в переходе по страницам в pdoPage?

Подключил копию pdopage в вызове, добавил/изменил запись в куки, и чтение, всё отрабатывает, хэш больше не получает из ссылки, и не ставит тоже, я код закомментировал, но всё равно оно добавляется, и сеошники недовольны, что лишний мусор и почему-то редирект с 302 кодом.

https://site.kz/page-1?pageId=11&hash=6fde6a0e14904d1ef079c7a549c208e99a305a3c
Pandemic
23 февраля 2024, 12:55
modx.pro
592
0