Всего 123 801 комментарий

Наумов Алексей
13 сентября 2023, 10:02
1
+1
У вас несколько вариантов:
1. Указать в параметре threads строку с нужными вам цепочками, например resource-5,resource-6,resource-7, где 5,6,7 — как раз те самые дочерние страницы. Но этот способ нормально будет работать только если таких страниц не так много, 5..10..100.
2. Изначально можно изменить способ формирования параметра thread, например сделать его вида category-2-product-5, тогда можно делать запрос вида thread LIKE 'category-2-%'. Но тоже, если тысячи товаров, то LIKE может быть не быстрым.

Если речь о тысячах товаров — нужно придумывать что-то другое, я бы рассмотрел возможность добавления какой-нибудь колонки в таблицу modx_ec_threads, куда бы записывались данные, по которым фильтровать удобно. В вашем случае колонка category со значением 2.
Zulya
12 сентября 2023, 16:45
0
Здравствуйте, Алексей!
Спасибо за помощь! Так начали выводиться отзывы с subject-ом «отзыв».
Возможно ли как-то указать чтобы выборка отзывов была из дочерних страниц категории, например, категории с id 2?
Данный блок отзывов выводится на главной странице.
Константин
12 сентября 2023, 16:04
0
Плейсхолдер выводит огромный массив всех артикулов, по которым не требуется выводить артикул, все верно.
Дело в этой конструкции:
{if $parent not in list ('noarticle' | placeholder)}
  <div class="reward"><span>Артикул:</span> <span class="item">{$article}</span></div>
{else}
{/if}
В журнале ошибка:
'{if $parent not in list (' <- there
Павел Романов
12 сентября 2023, 15:31
+1
В /core/components/console/files/
Harmattan
12 сентября 2023, 14:44
0
А всё, нашёл. Из FormIt: &emailTpl. Странно только почему не срабатывал — ведь одинаково с AjaxForm.
РОМАН
12 сентября 2023, 14:02
0
Здравствуйте!
Как настроить показ капчи после 50ти перехода через автоматические правила?
Где настроить ключи для рекапчи?

При добавлении бота после проверки на первой вкладке выходит ошибка: Процессор не найден: mgr//blocked/
Алексей Смирнов
12 сентября 2023, 10:07
0
Ну, такие вещи нужно уже самому отдебаживать.
Проверьте что в чанке вообще выводятся данные:
И так попробуйте посмотреть:
{$_modx->getPlaceholder('noarticle') | print}
и так:
{('noarticle' | placeholder) | print}
если не выводиться, проверьте что переменные верно указаны. ну и еще в феноме не забывайте что есть $_modx, а не $modx.
каждый чих проверять уже перебор.
Наумов Алексей
12 сентября 2023, 10:02
+1
Второй способ, но вы потеряли параметр thread (и threads), который укажет что нам нужно выводить все отзывы, а не только те, что есть у текущей страницы:

[[!ecMessages? 
    &threads=`*`
    &tpl=`ecMessages.Row.Home-Review`
    &limit=`0`
    &subject=`отзыв` 
]]
Алексей Смирнов
12 сентября 2023, 10:00
+2
Чтобы точно люди нашли ответ на этот вопрос выделю его в отдельном комментарии от себя:
<a href="" data-sort="" data-dir="" class="sorty sort">Сбросить</a>
Причем таким образом можно построить и оформить почти любой вариант сортировки по дизайну.
Например в одном проекте делал так:
<div id="mse2_sort">
      <a href="" data-sort="publish:desc" data-dir="" class="sorty sort">Новее</a>
      <a href="" data-sort="pribil:desc" data-dir="" class="sorty sort">Прибыльнее</a>
      <a href="" data-sort="price:asc" data-dir="" class="sorty sort">Дешевле</a>
      <a href="" data-sort="" data-dir="" class="sorty sort">Сбросить</a>
</div>
Те Нужны были только определенные последовательности сортировок. Это реализовал так. И исходники совсем не правил для этого дела.
а еще это можно оформить в выпадающий список (не select) а на js сделать и будет вообще красота. Так же учтите, что на все теги a при клике навешивается класс active, тут просто застилить нужно верно и все будет приличненько.
ну и кто совсем захочет завернуться, просто стандартный js копируется, правиться и указывается новый файл в системной настройке.
Константин
12 сентября 2023, 09:59
0
Да, странно, версия действительно 2.9, как выяснил, поставщик не modstore.pro…
Пробую вывод в шаблоне:
{set $allpara = $_modx->getChildIds(31,4,['template' => 3])}
{set $allpara2 = $_modx->getChildIds(29,4,['template' => 3])}

{foreach $allpara2 as $nyam}
  {set $allpara[] = $nyam}
{/foreach}
{$modx->setPlaceholder('noarticle', $allpara)}
В чанке:
{if $parent not in list ('noarticle' | placeholder)}
  <div class="reward"><span>Артикул:</span> <span class="item">{$article}</span></div>
{else}
{/if}
Товары перестали выводиться.
Андрей
12 сентября 2023, 01:22
0
Я поставил такой: // Адреса платежных шлюзов
define('RBS_PROD_URL', 'https://securecardpayment.ru/payment/rest/');
Андрей
12 сентября 2023, 01:21
0
Да, проблема была в их сертификатах от минцифры.
Вот их ответ:
Рекомендуется ознакомиться с инструкцией
securecardpayment.ru/wiki/doku.php/certificates:start
для корректировки (при необходимости) работы вашего решения с шлюзом банка.

Решение, поменять урл c на другой, которій поддерживает сертифакаты
Артур Шевченко
11 сентября 2023, 21:41
0
Скрипт был рассчитан на импорт товаров на пустой сайт, поэтому опции и категории создаются автоматически. Если опции уже есть на сайте, то param должны иметь такие же имена как и ключи у опций на сайте. Если param имеют другие имена, то надо модифицировать скрипт, а именно метод importProducts.

Не знаю кто пустил слух, что товары импортируются по feed_id, на самом деле они импортируются по pagetitle, по feed_id определяется родитель. Чтобы сделать импорт товаров по sku, а импорт категорий по pagetitle, надо модифицировать функцию manageResource.
Дмитрий
11 сентября 2023, 20:16
0
Привет, Артур! Спасибо тебе за твои труды. Есть вопрос по п.3: Импорт опций товаров из тэгов «param» (опции создаются автоматически). Правильно ли я понимаю, чтобы сопоставить уже созданные опции на своём сайте с param из xml, нужно переименовывать param'ы в файле xml? или это можно сделать через importconfig.inc.php? Если в будущем добавлять новые товары из того же xml, то придется каждый раз переименовывать все param?

И второй вопрос: тут уже задавался про обновление по id из фида, но я бы хотел обновлять товары не по id, а по vendorCode, для этого у меня в каждом товаре создано дополнительное поле sku. Как можно поменять обновление по этому ключу?
Дмитрий
11 сентября 2023, 14:02
0
столкнулся с такой же проблемой( нашли решение?
diskoden
11 сентября 2023, 10:35
0
Найден по пути: ../manager/assets/components/ckeditor/ckeditor/config.js
Артур Шевченко
10 сентября 2023, 23:03
0
А так
(function(miniShop2, $){      
        miniShop2.Message = FetchIt.Message;
    })(miniShop2, jQuery);
Дмитрий
10 сентября 2023, 20:06
0
добавил скрипт, выдает ошибку — Uncaught SyntaxError: Function statements require a function name
Алексей Смирнов
10 сентября 2023, 17:08
0
Значит у вас версия минишопа не 4ка, походу.
для передачи параметров можно использовать плейсхолдеры:
{set $allpara = $_modx->getChildIds(31,4,['template' => 3])}
{set $allpara2 = $_modx->getChildIds(29,4,['template' => 3])}

{foreach $allpara2 as $nyam}
  {set $allpara[] = $nyam}
{/foreach}
setPlaceholder('utochka', $allpara); // посмотрите в доке синтаксис.
и уже в tpl вызывайте так:
{if $parent not in list ('utochka' | placeholder)}
  <div class="reward"><span>Артикул:</span> <span class="item">{$article}</span></div>
{else}
{/if}