Максим

Максим

Был в сети 13 февраля 2026, 18:58
Заказы не принимаю
А если заменить $_SESSION[«delivery»] на статичное число — все работает нормально.
Но я не очень понимаю
Как получается моя ошибка с сессиями.
Как по другому передать цену за доставку, если она высчитывается отдельным сервисом.

К слову, если нужно уточнить, в сессию цена попадает после того как пользователь выбрал пункт самовывоза или доставку курьером, после этого через ajax в сессию записывается цена за доставку.
<?php
if(!class_exists('msDeliveryInterface')) {
    require_once dirname(dirname(dirname(__FILE__))) . '/model/minishop2/msdeliveryhandler.class.php';
}

class msDeliveryHandlerMsk extends msDeliveryHandler implements msDeliveryInterface{

    public function getCost(msOrderInterface $order, msDelivery $delivery, $cost = 0) {
        
        $delivery_cost = $_SESSION["delivery"];
        unset($_SESSION["delivery"]);
        
        $cost += $delivery_cost;
        
        return $cost;
    }
}
В сессии хранится цена доставки (по другому не придумал как передавать цену).
По итогу все работает, только вот цена доставки вычитается из цены корзины.
По итогу, проблема была в том, что не все цены были подключены со стороны 1С.
Надо было зайти во «Все функции» — из кучи разделов выбрать какой-то (какой не запомнил) с настройками цен. И отметить чекбокс «Выгружать на сайт» или типа того.

Т.к. мне помогал 1С-прогер, я плохо запомнил куда он лазал.
А зачем нужен отдельный хук?
Там же можно в validate прописать field:blank
Это проверка, что поле должно быть не заполненным.

А насчет автозаполнения. Нужно прописать к скрытому полю autocomplete=«new-password»
Тогда поле не будет автозаполняться

Также пара советов.
Не стоит скрывать стилями само поле.
Лучше обернуть его в блок со стилями вроде width: 0;height: 0;overflow: hidden;

И стоит атрибут name у поля сделать вроде phone или tel, на случай если спамеры проверяют «полезность» поля.
А никто не знает, почему phpthumbon webp генерирует иногда просто пустым изображением?
Попробовал в каталоге запустить половина изображений нормально, о половина просто пустое фото.
В настройках указал только ширину, высоту и f=webp.
Ни у кого такого не было?