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

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

С нами с 24 мая 2019; Место в рейтинге пользователей: #7
Отправить деньги
Артур Шевченко
11 апреля 2023, 12:28
0
В админке товары и так в табличке, а как отображать товары на фронте решать только вам, хотите табличку — делайте табличку. Сниппет msProducts вам в помощь.
Артур Шевченко
08 апреля 2023, 18:42
0
Для чего вам массовое создание страниц?
Артур Шевченко
06 апреля 2023, 23:32
0
Я тоже такого метода не знаю. Смотри доку.
Артур Шевченко
06 апреля 2023, 22:07
0
Ну объединяй на здоровье.
Артур Шевченко
06 апреля 2023, 21:29
0
Не мучайся, напиши так
$this->where("time BETWEEN $startTime AND $endTime");
Артур Шевченко
06 апреля 2023, 19:03
0
Наверное вывести их список через pdoResources указав класс msCategoryOption
Артур Шевченко
06 апреля 2023, 16:32
0
Так значит надо либо условие убрать или установить значение true.
Артур Шевченко
05 апреля 2023, 20:38
0
Вот же у тебя условие написано по которому твой код должен отрабатывать
if ($this->config['json_response']) {}
По умолчанию оно false, ты где-то меняешь параметр json_response?
Артур Шевченко
05 апреля 2023, 20:26
0
Все сниппеты семейства pdoTools и MiniShop2 позволяют указав пустой шаблон получить распечатанный массив, где ключами будут доступные плейсхолдеры. Вероятно некоторые другие компоненты практикуют такой же подход. В иных случаях надо смотреть код сниппета и выводить в консоль данные.
Артур Шевченко
04 апреля 2023, 21:39
0
Я думаю, что письмо с напоминанием об оплате приходит если выбрана оплата онлайн и заказ не оплачен.
Артур Шевченко
03 апреля 2023, 17:45
0
1. Открывать и закрывать нужно через класс, а не через инлайновый стили.
2. В чанке родителя делай проверку
{$_modx->resource.parent == $id ? 'open' : ''}
3. В чанке потомка делай проверку
{$_modx->resource.id == $id ? 'active' : ''}
Артур Шевченко
03 апреля 2023, 13:59
+2
Чтобы отделить свой код от чужого. К тому же, мало ли что случится, если кому-то придёт в голову мысль переустановить ZoomX. В общем, я бы назвал это инкапсуляцией.
Артур Шевченко
03 апреля 2023, 10:34
0
Если вы начинающий, используйте Modx 2.8.5
Артур Шевченко
01 апреля 2023, 22:07
+1
В вёрстке добавляем блок
<div id="remain">0</div>
В ФАЙЛ со скриптами (потому что нужно блюсти чистоту кода) добавляем код:
$(document).on('msoptionsprice_product_action', function (e, action, form, response) {
       $('#remain').innerText = response.modification.count;   
});
Всё.
Артур Шевченко
31 марта 2023, 16:57
0
Вы тогда в раздел «Работа» обратитесь, там помогут, не бесплатно, конечно.
Артур Шевченко
31 марта 2023, 15:47
0
Вот код, который создаёт заказ из конкретного товара.

public function createOrder()
    {
        $ms2 = $this->modx->getService('minishop2');
        $ms2->initialize('web');

        if (empty($ms2->cart->get())) {
            $this->logging->writeLog('Orderformhandler::createOrder', 'Не добавлен ни один курс.');
            return array('success' => false, 'message' => 'Не добавлен ни один курс');
        }

        $ms2->order->config['json_response'] = true;
        $ms2->order->add('receiver', $this->data['fullname']);
        $ms2->order->add('phone', $this->data['phone']);
        $ms2->order->add('delivery', $this->data['delivery']);
        $ms2->order->add('payment', $this->data['payment']);
        $ms2->order->add('region', $this->data['state']);
        $ms2->order->add('city', ($this->data['city'] ?: $this->data['state']));
        $ms2->order->add('index', $this->data['zip']);
        $response = $ms2->order->submit();

        $this->logging->writeLog('Orderformhandler::createOrder', 'Заказ успешно создан.', $response);

        if ($response['order_id']) {
            $newName = $this->base_path . $this->logdir . $response['order_id'] . '.txt';
            rename($this->logpath, $newName);
            unlink($this->logpath);
            $this->logging->logpath = $newName;
        }

        return $response;
    }
Артур Шевченко
31 марта 2023, 10:32
0
Используй split по слэшу, получишь массив и выводи два слова в каком хочешь порядке и виде.
Артур Шевченко
31 марта 2023, 10:29
0
Если вы выводите список модификаций на страницу, то можно попробовать использовать плейсхолдер count.
Артур Шевченко
28 марта 2023, 11:29
0
Это же прекрасно, есть возможность прокачать навык работы с PHP. Вот тут примеры плагинов. Логгировать процесс можно выводя данные в журнал ошибок
$modx->log(1, print_r($data,1));