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

Никита Боднар
14 декабря 2022, 10:34
0
> site.ru/index.php -> site.ru/
Только этот вариант работает в таком случае
Павел Гвоздь
14 декабря 2022, 10:10
1
0
В целом всё, как написал Николай, но вместо того, чтобы в профиль юзера писать использованные промокоды, надо написать чуть более сложный запрос в БД, в котором брать все заказы (msOrder) текущего пользователя, к этому запросу джоинить (innerJoin) заказы с промокодом (mspc2CouponOrder) и в условиях выборки (where) добавить mspc2CouponOrder.code = нужному коду промокода.

Выборка позволит получить заказы пользователя с нужным промокодом. Вешаем эту выборку и логику проверки на событие mspc2OnBeforeSetCoupon. В доке есть кейс, как отменить применение промокода на этом событии.

P.S. Сорри за долгий ответ.
deleted
14 декабря 2022, 02:47
0
Для сжатия стилей scss использую на бэке. У меня свой сниппет, но есть готовый компонент. Стили для библиотек просто сниппетом склеиваю, так как они уже минифицированы. С js ничего не делаю, так как загрузку страницы не замедляют, насколько я понимаю.
Minifyx не использую, он от некоторых конструкций в css ломается.
Артур Шевченко
13 декабря 2022, 23:36
0
Если у тебя apache попробуй это
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html|htm)\ HTTP/
RewriteRule ^(.*)index\.(php|html|htm)$ $1 [R=301,L]
Georg
13 декабря 2022, 21:44
0
Где-то поднималась тема уже. После этого компонент был обновлен. Сейчас вроде-бы нормально все
Михаил
13 декабря 2022, 21:36
0
ibb.co/kShNhN3
github.com/sweetalert2/sweetalert2/commit/47a88ca55c4aa4ffba61f2b2e732791ac08ec66f#diff-a6b38c88286015f973053c05716c670cdf9a2e4bb50c105f47830331d87cd431

Это стремно господа… Подмешивать в код украинскую музыку и гавнить всем подряд… Это не достойно звание разработчика!
Alex
13 декабря 2022, 21:33
0
Ooo — Спасибо от души )))
Николай Савин
13 декабря 2022, 18:54
0
Подготовить собственный метод фильтрования согласно документации. Там даже пример описан очень подробный
Сергей Карпович
13 декабря 2022, 15:48
0
Никто не сталкивался с такой проблемой?
Андрей
12 декабря 2022, 23:06
0
Привет! Обновил расширение и все слетело, перестало работать. Подскажите что нужно указывать в поле?
checkUrl и avisoUrl
это на странице настройки магазина в юкассе
alexandr.skyrda
12 декабря 2022, 15:53
0
а так спасибо, как раз начал пробовать с этим событием msOnGetProductPrice
alexandr.skyrda
12 декабря 2022, 15:52
0
in_array($id_group, $userGroups)
здесь мб вместо id_group sale_group должно быть?
Николай Савин
12 декабря 2022, 15:46
2
+3
Вам нужно создать плагин на событие msOnGetProductPrice

Пример кода такой
/** @var modX $modx */
/** @var msProduct $product */
if ($modx->event->name == 'msOnGetProductPrice') {
    $userGroups = $modx->user->getUserGroups();
    $sale_group = 4;
    //  $sale_price - цена со скидкой.  Придумайте откуда ее взять.  Отдельное поле или процент от общей цены
    $sale_price = 100;

    if (in_array($id_group, $userGroups)) {
        $modx->event->returnedValues['price'] = $sale_price
    }
}

Здесь по коду проверяем в каких группах состоит клиент. Если среди них есть скидочная группа — то подменяем price на нужное вам число
Vladimir
12 декабря 2022, 11:59
+1
Можно это запустить всё через pdoPage и просто указать параметр context, и указать чтобы контекст брался через обращение к текущей страницы, которая сделала запрос, так же через pdoPage можно сделать так чтобы если больше 1к записей, будет 2я страница но с уже другими записями.
<?php
$output = $modx->runSnippet('pdoPage',array(
    'element' => 'pdoSitemap',
    'parents' => 0,
    'context' => $modx->context->key,
    'depth' => 10,
    'limit' => 100,
    'showHidden' => 0
));

return $output;
Ниже сам код, выше пример который работает у меня.
'context' => $modx->context->key,
Константин Ильин
12 декабря 2022, 11:43
0
Вы опишите задачу которую вы пытаетесь решить, если не трудозатратно попробуем решить средствами модх, а не так как вы это делаете.

На счет кода HTML в сниппете, тут нужно использовать parseChunk передавая ему массив данных. И так же рекоменду использовать Fenom, а не стандартный MODX шаблонизатор
<?
//про феном 
{'!usr1' | snippet} а не [[!usr1]]
В сниппет:
<?
$arr = ['name' => 'Вася', 'country' => 'Индия'];
.....
$pdo = $modx->getService('pdoTools'); // pdoTools должен быть установлен
return $pdo->parseChunk('названиеЧанка', $arr);
Сам чанк примерно
<div>Имя: {$name}<div>
<div>Страна: {$country}<div>
Николай Савин
12 декабря 2022, 11:19
0
Тогда я вам рекомендую вообще отказаться от этих кусков и использовать MODX API для обращения к базе данных, а также шаблонизатор для вывода информации
Pavel
12 декабря 2022, 10:34
0
точно. не обращайте внимание на куски из джумлы. я от туда сайт переписываю, это все уйдет в финале.
vectorserver
12 декабря 2022, 07:52
1
+1
Как писал выше Артур!
Создай сниппет к примеру contextKeys:
<?php
/* @var modX $modx */
/* @var modContext $ctxs */
$ctxs_obj = $modx->getCollection('modContext', array('key:!=' => "mgr"));
$ctxs = [];
if ($ctxs_obj) {
    foreach ($ctxs_obj as $ctx) {
        $ctxs[] = $ctx->key;
    }
}

return implode(",", $ctxs);
Далее впихивай его в pdoSitemap
[[!pdoSitemap?
    &tpl=`@INLINE [[+url]][[+date]]`
    &where=`{"hidemenu":0}`
    &context=`[[contextKeys]]`
]]