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

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

С нами с 24 мая 2019; Место в рейтинге пользователей: #3
Отправить деньги
07 февраля 2023, 15:02
0
В сессию или в куки записывайте. Как работать с куками или сессией можно посмотреть в документации по PHP.
07 февраля 2023, 13:26
0
А, физически они уже в разных категориях, вам нужно их в выводе разделить? Есть параметр parents укажите там id текущего ресурса, так {$_modx->resource.id} или так [[*id]]. А вообще либо изучайте документацию, либо ищите специалиста, который разбирается.
07 февраля 2023, 12:09
0
У меня есть категория товаров, но там должны остаться только синие товары, а черные с желтым надо убрать. Не могу найти где это…
Категории и товары в левом сайдбаре

Также на странице мне надо оставить только два раздела, а внизу убрать товары.
Смотрите шаблон (левый сайдбар->Элементы->Шаблоны)
07 февраля 2023, 12:06
0
Вот строки отвечающие за сохранение
$tvs->set('value',intval($viewTv) + 1);
 if($tvs->save()) $view = $viewTv;
$page->setProperty('hitts',intval($view) + 1,'hitspage');
$page->save();
Заверните их в условие. Предварительно правда надо записывать время начала визита.
06 февраля 2023, 21:29
0
Tickets, HybridAuth, Login.
06 февраля 2023, 21:28
0
Есть. Надо открыть сниппет или плагин, посмотреть где там происходит подсчёт и поставить нужное условие.
05 февраля 2023, 21:46
0
Очистка сессий может только удалить корзину, обновить её нельзя, нужно писать отдельную логику для этого.
05 февраля 2023, 21:44
0
Скорее всего так
{if $order.delivery == 1}
{set nadbavka = ((($order.cost  - $order.cart_cost - $order.delivery_cost) * 100) / 100) | round}
{/if}
ID нужного способа я не знаю, посмотрите в настройках minishop2
05 февраля 2023, 18:32
0
Ну добавьте проверку способа доставки.
05 февраля 2023, 18:31
+1
Удалить текст сообщения на событие afl-complete и уведомление показано не будет.
05 февраля 2023, 13:40
0
virtualpage но хз как оно работает. Ну и с помощью ZoomX можно свои роуты создать
04 февраля 2023, 15:58
0
Если скрипты ваши подключаются без type=«module», то в отдельный файл.
04 февраля 2023, 12:31
0
Компонент генерирует JS событие afl-complete. Повесьте на него обработчик, в котором вызовите метод закрытия окна.
Для минишоп можно как то сделать что бы сообщения подтягивались с вашего дополнения?
Не совсем понятно, что имеется в виду, но предположим, что речь об уведомлениях. Если вы используете новый комплект JS скриптов, то там точно такие же уведомления. Если используете стандартный, то нужно переопределить объект Message.
import AflIziToast from './../components/ajaxformitlogin/js/modules/aflizitoast.class.js';

document.addEventListener('DOMContentLoaded', (e) => {
    if (typeof miniShop2 !== 'undefined') {
        miniShop2.Message = new AflIziToast({
            "jsPath": "assets/components/ajaxformitlogin/js/lib/izitoast/iziToast.min.js",
            "cssPath": "assets/components/ajaxformitlogin/css/lib/izitoast/iziToast.min.css",
            "handlerClassName": "iziToast",
            "handlerOptions": {
                "timeout": 2000,
                "position": "topCenter"
            }
        });
    }
});
Если не будет работать используйте задержку через setTimeout, поскольку при импорте скрипт должен быть type=«module», а скрипты этого типа всегда грузятся асинхронно.
03 февраля 2023, 20:12
0
Собственно, если вы собираетесь делать сайт на Modx Revolution выбора у вас нет, во всяком случае если ничего сильно эксклюзивного не требуется, minishop2 это лучший выбор, а значит всё сказанное до этого актуально для вас.
03 февраля 2023, 19:50
+1
Если у вас в качестве основы интернет-магазина используется minishop2, то все компоненты оплаты для него умеют генерировать ссылку на оплату, но проблема в том, что отдельно от создания заказа из коробки её сгенерировать нельзя и компонент для оплаты тут не причём.
03 февраля 2023, 18:14
0
Понятно. Смысл в том, что пустое поле типа checkbox не передается на сервер, поэтому нужно создать другое поле типа hidden и проверять именно его, а чтобы значение в поле типа hidden менялось нужно в атрибуте data-afl-required указать имя проверяемого поля. Т.е. должно быть так
<div class="pole pole-checkbox">
            <div class="pole-label">Тип помещения <span class="error_floor">[[+fi.error.room]]</span></div>
            <input type="hidden" name="room-control" value=""/>
            <div class="pole-checkbox-item">
                <input id="room_1" type="radio" name="room[]" value="Квартира" data-afl-required="oom-control" [[!+fi.room:FormItIsChecked=`Квартира`]] >
                <label for="room_1">Квартира</label>
            </div>
            <div class="pole-checkbox-item">
                <input id="room_2" type="radio" name="room[]" value="Частный дом" data-afl-required="oom-control" [[!+fi.room:FormItIsChecked=`Частный дом`]]>
                <label for="room_2">Частный дом</label>
            </div>
            <div class="pole-checkbox-item">
                <input id="room_3" type="radio" name="room[]" value="Гостиница" data-afl-required="oom-control" [[!+fi.room:FormItIsChecked=`Гостиница`]]>
                <label for="room_3">Гостиница</label>
            </div>
            <div class="pole-checkbox-item">
                <input id="room_4" type="radio" name="room[]" value="Коммерческое помещение" data-afl-required="oom-control" [[!+fi.room:FormItIsChecked=`Коммерческое помещение`]]>
                <label for="room_4">Коммерческое помещение</label>
            </div>
        </div>
А в вызове
'validate' => 'room-control:minValue=^1^',
'room-control.vTextMinValue' => 'Выберите значение.'
03 февраля 2023, 18:05
0
Ну сделайте тоже самое в чанке письма.

{set nadbavka = ((($order.cost  - $order.cart_cost - $order.delivery_cost) * 100) / 100) | round}
03 февраля 2023, 17:53
0
Предположу, что разметка неверная. Не вижу контрольного поля и атрибута data-afl-required
03 февраля 2023, 16:30
0
Да, там ещё кое-что надо изменить. После
$.post(config['connectorUrl'], params, function (response) {
вставить
if(response.page != response.pages){
            $(config['more']).find('button').attr('disabled', false);
        }else{
            $(config['more']).find('button').attr('disabled', true);
        }
И закомментировать или удалить
if (config['mode'] == 'button') {
                    if (response['pages'] == response['page']) {
                        $(config['more']).hide();
                    }
                    else {
                        $(config['more']).show();
                    }
                }
03 февраля 2023, 11:12
0
Этого я не знаю, но знают Яндекс и Гугл, спросите там.