Всего 123 793 комментария

Dan
Dan
27 декабря 2023, 19:52
0
Все верно. Копируете полностью методы add и remove (полный код функций function add и function remove). И добавляете им в return $this->success ключ incart_html с нужным чанком.

на странице категории пока еще не разобрался
В чанке tpl товара, вместо кнопки сабмит вставляете код, который указан в статье (сниппет inCart с параметром product обернутый в incart-container)

Работает правда немного косячно
Что не так работает?
Pandemic
27 декабря 2023, 13:17
0
В чём проблема не разобрался, но создал новое поле, везде указал его, и заработало.
Володя
27 декабря 2023, 12:45
0
вероятно сменить ключ опции с product на какой то другой.
Leo
Leo
27 декабря 2023, 12:44
0
Спасибо! Почти получилось, выводит названия всех контекстов, но вот урлы ведут на корень — главный контекст web
Pandemic
27 декабря 2023, 12:15
0
Если вывести всё что там есть то вот так выдаёт
Array ( [0] => brend [1] => [2] => default [3] => [4] => text )
Хотя в админке стоит текст. удалял, писал вручную, писал другое, всё равно
Futuris
27 декабря 2023, 12:09
0
Пытаюсь реализовать метод, описанный в статье, но еще с кодом не слишком знаком, чтобы самостоятельно разобраться.) Как понял по докам нужно:

1. Создать свой php-файл. У меня это — mscarthandlerbtn.class.php;
2. Зарегистрировать новый метод вызовом в консоли:
if ($miniShop2 = $modx->getService('miniShop2')) {
  $miniShop2->addService('cart', 'msCartHandlerBtn',
      '{core_path}components/minishop2/custom/cart/mscarthandlerbtn.class.php');
}
3. Указать свой класс в системной настройке ms2_cart_handler_class.
4. А вот какой код должен быть в моем новом, расширяющем классе msCartHandlerBtn? Пока я просто скопировал в него «переопределенные методы add и return с добавленным incart_html» — описанные в статье. При этом в родительском классе они также присутствуют, т.к. на их удаление IDE реагирует ошибкой. В итоге у меня появились кнопки "+" и "-" на карточке товара (на странице категории пока еще не разобрался) и ими можно добавлять товар в корзину. Работает правда немного косячно. Думаю, что из-за неправильного наследования класса.
Артур Шевченко
27 декабря 2023, 11:08
+1
При правильной настройки SendIt или FlatFilters?
FlatFilters. В версии SendIt 1.1.0 появилась возможность отправлять формы по клику, это поможет избежать подобных ошибок.

обычным пользователям же нужно: вызвало и чтоб заработало
Я понимаю, поэтому это только бета и она будет дорабатываться, в том числе благодаря твоим комментариям. Так что спасибо.
Артур Шевченко
27 декабря 2023, 11:06
+1
Не могу представить кейс, в котором не нужно было бы писать свою логику. А в целом вариант быстро накидать точки монтирования и дальше работать непосредственно с кодом это круто)))
Константин Ильин
27 декабря 2023, 10:12
0
При правильной настройке ошибок типа «Повторная отправка формы через ** секунд» быть не должно
При правильной настройки SendIt или FlatFilters?

Это решается удаление пути к файлам стилей из системной настройки.
Я в целом так и подумал(т.к. имею опыт), да я мог бы и в плагине найти строчку или еще как то, т.к. умею, но обычным пользователям же нужно: вызвало и чтоб заработало :)
vectorserver
27 декабря 2023, 06:48
+2
Типо того:
<ul>
    <?php
    $contexts = $modx->getCollection('modContext', array('key:NOT IN' => array('mgr')));
    foreach ($contexts as $context) {
        $contextName = $context->get('key');
        $contextUrl = $modx->makeUrl('[[*id]]', '', $contextName);
        echo "<li><a href='{$contextUrl}'>{$contextName}</a></li>";
    }
    ?>
</ul>
vectorserver
27 декабря 2023, 06:36
0
Попробуй напрямую закинуть запрос через метод $modx->query

$sql = "SELECT * FROM ваша_таблица WHERE (width + length) <= 1000 AND (length - width) >= 500";
$result = $modx->query($sql);
$rows = $result->fetchAll(PDO::FETCH_ASSOC);
Александр Туниеков
27 декабря 2023, 01:17
0
Спасибо за донат. Хотел в заметке спросить надо ли дальше и подробнее описывать :-) но уже запарился. Теперь буду знать. Надо расписывать. Только блоками работы поменьше, чтоб не запариваться и чтоб понятнее было. А стартовый блок работы получился большим. Я насчитал 60 часов работы О_О.
Александр Туниеков
27 декабря 2023, 01:12
+1
Да правильно. Сложновато написал. Хорошо еще что сейчас начал описывать. Потом вообще бы тяжко было все хитро сплетения прописывать.
В таблице указываешь точку монтирования — это куда слать запрос. Указываешь класс контроллера и путь к нему — то есть это где искать код код обработчика.
Но фишка то в том чтоб по возможности код обработчика вообще не писать. Класс контроллера остовляешь пустым и указываешь нужную таблицу и GRUD API уже есть. Думаю это съэкономит время.
Артур Шевченко
26 декабря 2023, 22:49
0
Написать сниппет, который соберёт все контексты из БД и выведет их списком ссылок
Артур Шевченко
26 декабря 2023, 22:37
+1
Я правильно понимаю, в таблице можно указать куда слать запрос, где искать код обработчика и можно работать с сайтом через API?
Артур Шевченко
26 декабря 2023, 20:07
0
При правильной настройке ошибок типа «Повторная отправка формы через ** секунд» быть не должно

Css от SendIt изменяет css сайта, первое, что бросилось в глаза размер .container увеличился
Это решается удаление пути к файлам стилей из системной настройки. Но скорре всего в SendIt 1.1.1 удалю значение.