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

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

С нами с 24 мая 2019; Место в рейтинге пользователей: #6
Отправить деньги
Артур Шевченко
27 мая 2024, 18:33
+1
Скорее всего нужно использовать FIND_IN_SET
Артур Шевченко
27 мая 2024, 18:26
+1
Оперативной памяти серверу не хватает. Надо искать утечку. Скорее всего где-то есть самописный сниппет, который получает из БД много объектов.
Артур Шевченко
25 мая 2024, 14:24
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
LEFT JOIN {$tablePrefix}site_content Resource ON Product.id= Resource.id
WHERE Product.class_key = 'msProduct' AND Resource.published = 1";
$statement = $modx->query($sql);
$products = $statement->fetchAll(PDO::FETCH_ASSOC);
$output = [];
foreach ($products as $product) {
    $output[$product['parent']][] = $product;
}
return $output;
Артур Шевченко
25 мая 2024, 14:04
0
Нужно присоединить таблицу site_content по id и в условиях выборки добавить ПсевдонимТаблицы.published = 1
Артур Шевченко
23 мая 2024, 20:47
0
Если кому понадобится: сначала ищите ответ в документации, а потом пишите сюда.
Артур Шевченко
22 мая 2024, 22:24
1
+1
Нужно переписать метод submit в обработчике заказа, так как из коробки он возвращает ответ сразу на фронт. А когда получишь ответ, там в параметре redirect будет ссылка на оплату.

Тут вместо echo нужно сделать return и убрать die(). И тогда если сделать так
$response = $miniShop2->order->submit();
$modx->sendRedirect($response['data']['redirect']);
то пользователя перекинет на оплату.
Артур Шевченко
21 мая 2024, 22:35
0
Тогда открой логи сервера и почитай, что там пишут.
Артур Шевченко
18 мая 2024, 21:40
0
Смотри ошибки в журнале ошибок, в логах сервера. Данное описание вообще не несёт никакой информации способной помочь в решении.
Артур Шевченко
18 мая 2024, 21:33
0
Посмотреть какие стили приводят к некорректному отображению и удалить их со страницы.
Артур Шевченко
18 мая 2024, 21:31
0
Это и есть пункты меню, просто сниппет в цикле подставляет сюда разные значения.
Артур Шевченко
17 мая 2024, 23:39
0
Этот код должен сработать.
Артур Шевченко
17 мая 2024, 23:38
0
require_once $_SERVER['DOCUMENT_ROOT'] . '/core/config/config.inc.php';
Это лишнее.

global $modx;
и это тоже.

$modx->context->key
Как ты думаешь в режиме API, который ты включил в первой строке своего файла, какое значение будет в этом параметре? Правильно — никакого, поэтому передай конкретный ключ контекста и будет тебе счастье.
Артур Шевченко
08 мая 2024, 20:28
0
Обычно при очистке кеша красным выводятся все дубли.
Артур Шевченко
04 мая 2024, 17:44
+1
Решение от ИИ
$(document).on('mse2_load', function (e, data) {
  // Получаем все GET-параметры из текущего URL
  var params = new URLSearchParams(window.location.search);

  // Преобразуем параметры в объект JSON
  var jsonParams = {};
  for (var param of params) {
    jsonParams[param[0]] = param[1];
  }

  // Если параметры есть, записываем их в куки
  if (Object.keys(jsonParams).length > 0) {
    Cookies.set('optionFilters', JSON.stringify(jsonParams), { expires: 7, path: '/' });
  }
  // Иначе удаляем куки
  else {
    Cookies.remove('optionFilters', { path: '/' });
  }
});
Артур Шевченко
03 мая 2024, 21:15
0
параметры из url и записывал бы в куки
Понятное дело, магии не существует. Надо JS написать который возьмёт параметры из url закодирует в JSON и запишет в куки с ключом optionFilters
Артур Шевченко
03 мая 2024, 14:39
+1
Я бы тогда забирал параметры из url и записывал бы в куки. А на страницы товара выводил похожие так
{'!msProducts' | snippet: [
    'parents' => 0,
    'optionFilters' => $.cookie.optionFilters
    'tpl' => 'myTpl',
    'limit' => 12
]}
Артур Шевченко
03 мая 2024, 11:04
0
Как-то так
SELECT * FROM `modx_ms2_products` Data
LEFT JOIN `modx_site_content` Resource ON Data.id = Resource.id
LEFT JOIN `modx_ms2_product_options` Size ON Data.id = Size.product_id AND Size.key = 'size'
WHERE Size.value = '5010х2800'
Артур Шевченко
02 мая 2024, 12:15
+1
воротите, что хотите. Вплоть до удаления исходников сайта, это уже на ваше усмотрение.
Это определённо очень важная возможность ?