Артур Шевченко

Артур Шевченко

С нами с 24 мая 2019; Место в рейтинге пользователей: #3
Отправить деньги
04 марта 2024, 15:06
0
Не хватает фильтрации по значениям из msoptionprice2 (на сколько я понял, такого нет)
Фильтрация по опциям модификаций, это фильтрация не товаров, а модификаций. Выход тут простой: либо писать отдельный класс для фильтрации модификаций, либо указывать все значения доступные в модификациях для базового товара и фильтровать по ним (это возможно).

Не хватает возможности прописать названия поля (Цвет, размер)
Можно указать название в лексиконах, если не указать там ключ выводится.

1. При копировании конфигурации (Родители по крестику не удаляются, не только при копировании)
2. В настройках SendIt (надо выставлять большое значение «кол-во отправки форм» и убирать паузу) иначе закидаем кучей всплывашек.
Это я уже пофиксил.

есть поле значение, для чего оно, я не понял.
Оно для значения по умолчанию, т.е. можно указать для фильтра значение по умолчанию и тогда фильтр будет применён при выборке, но не будет доступен пользователю для изменения.

8. Не совсем удобно выбирать правила для каждой категории, если их 10-20, то можно сделать разными шаблонами или доп. полем, но если категорий 200 и более, то будет проблематично за всеми уследить. Т.е. надо сделать опции по умолчанию или скрывать их, но товары должны выводиться, если фильтра сделаны для категории, то нужно отображать.
Не понял какой кейс не удаётся реализовать?

4. Не хватает возможности менять опции местами (и надо подумать о порядки этих опций, есть проблема с размерами).
Придумаю что-нибудь.
29 февраля 2024, 20:27
+1
Есть компонент msAltCart, там реализован JS API для работы с корзиной.
28 февраля 2024, 23:13
+1
Там такое дело, что данные обрабатываются последовательно и через процессоры, и вот процессоры в modx это медленно, как ты сервер ни прокачивай.
28 февраля 2024, 21:20
0
Написать сниппет, который выберет из БД нужные данные.Запрос будет сложным, надо обращаться к таблице со значениями ТВ, присоединить к ней таблицу с именами ТВ, а в условиях сделать подзапрос к таблице с ресурсами и в подзапросе делать ещё один подзапрос к той же таблице и таблице категорий, чтобы отфильтровать по категории.
28 февраля 2024, 09:18
0
У тебя есть чанк элемента меню, добавь к ссылке нужные гет параметры и всё.
27 февраля 2024, 21:39
0
Добавь в сниппете в запрос получение uri, а в выводе оберни имя товара в тег ссылки с атрибутом href равным data.uri. А нули можно убрать модификатором replace.
27 февраля 2024, 15:28
0
t.me/ShevArtV скиньте мне доступы, посмотрю
27 февраля 2024, 15:01
0
Тогда обратись через раздел «Работа», к тому кто знает пусть найдёт или научит искать.
27 февраля 2024, 14:59
0
У меня работает.
27 февраля 2024, 10:22
0
Вызов сниппета покажи, только не такой маленькой картинкой на которой ничего не видно, а скопируй сюда код вызова.
26 февраля 2024, 15:22
0
{set $menu = 'mySnippet' | snippet}
{foreach $menu as $parent => $products}
    <p>{$parent}</p>
    <ul>
    {foreach $products as $data}
        <li>{$data.name} - {$data.price}</li>
    {/foreach}
    </ul>
{/foreach}
26 февраля 2024, 15:15
0
Покажи вызов сниппета и чанк с этим ТВ
26 февраля 2024, 15:14
0
У тебя капча на всех страницах или на одной?
26 февраля 2024, 09:05
0
Возможно дело в источнике файлов, который не подставляется при выводе.
25 февраля 2024, 21:36
0
И под cut портянку убери.
25 февраля 2024, 21:35
0
Ты бы код в соответствующий тег обернул что ли, читать же невозможно.
25 февраля 2024, 21:34
0
// отправляют данные в обработчик
            fetch("request_response.php", {
                "method": "POST",
                "headers": {
                    "Content-Type": "application/json; charset=utf-8"
                },
                    "body": JSON.stringify(data)
                }).then(function(data) {
                    console.log(data);
                    if (data["passed"] == "passed") {
                        // если капча пройдена, то перезагружаю страницу
                        window.location.reload();
                    }
                })
Тут вместо перезагрузки вставляй в новый контент из data.
23 февраля 2024, 23:27
+1
Попробуй так
{$_modx->runSnippet('!pdoPage', [
                'element' => 'migxLoopCollection',
                'classname' => 'HistoryPayment\Model\Payment',
                'tpl' => 'pay',
                'where' => "(status1 = 0 AND date1 < '2024-02-23') OR (status2 = 0 AND date2 = '2024-02-23')",
                ])}
23 февраля 2024, 18:32
0
Так же как и AND, только OR
23 февраля 2024, 18:31
0
Вот код сниппета, который выбирает нужные данные из БД и форматирует их в нужный вид
$tablePrefix = $modx->getOption('table_prefix');
$sql = "SELECT Product.pagetitle AS name, Data.price AS price, Parent.pagetitle AS parent FROM {$tablePrefix}site_content Product
LEFT JOIN {$tablePrefix}ms2_products Data ON Product.id = Data.id 
LEFT JOIN {$tablePrefix}site_content Parent ON Product.parent = Parent.id
WHERE Product.class_key = 'msProduct'";
$statement = $modx->query($sql);
$products = $statement->fetchAll(PDO::FETCH_ASSOC);
$output = [];
foreach ($products as $product) {
    $output[$product['parent']][] = $product;
}
return $output;