Павел Гвоздь

Павел Гвоздь

Был в сети 21 июля 2026, 01:25
Заказы принимаю
Гляньте в код сниппета. Он обрезает всё что после двоеточия включительно. Ваш ключ AND:consist:= превращается в опцию AND. А несколько переданных вами одинаковых ключей в массиве само собой превратятся в один. То бишь ваши несколько AND:consist:= в массиве становятся одним (последним присвоенным) элементом.

Данная задача решается через where + leftJoin на стороне вызова сниппета. Джойните опции, по которым осуществляете выборку и в where пишете:
'where' => [
    'consist = "first_value"',
    'consist = "second_value"',
],
без ключей.
Потому что, до сих пор я считаю, что ты его поставил не обдуманно, а просто потому что Паша и Василий поставил
Что ты от меня хочешь? Чтобы я убрал минус? Чтобы я ткнул тебя носом в то, что я ставил не смотря на то, ставил ли Василий?
Неа. Ну блин, до тебя не доходит, да? Давай я напишу пост «Как создать промо-код», дойдёт тогда?

Ты пойми, я ничего лично к тебе негативного не испытываю. Ты начал как-то остро воспринимать мой минус. Это всего лишь моё мнение, я ведь имею право на его высказывание, пусть даже кликом по кнопке. Не нужно пытаться вывести меня на спор, я уже не тот, что был в 2015 году. =)

P.S. Я понимаю, что бомбит из-за минусов. У меня самого порой подгорает. Но мне куда неприятнее, когда мой труд просто никому не интересен и нет ни лайков, ни дизов.

P.P.S. И прав был Василий, когда говорил, что начнётся серпентарий, когда появится возможность увидеть, кто голосовал.
Ну давай в следующем комменте напиши подробную инструкцию ещё… Друг, напиши отдельную статью со своим решением, пожалуйста. Зачем ты оффтопишь тут? Я разве где-то заявил, что мой компонент решает вот то, что ты описал?
/** @var msDelivery $delivery */
if (!empty($this->order['delivery']) && $delivery = $this->modx->getObject('msDelivery',
$this->order['delivery'])
) {
$cost = $delivery->getCost($this, $cost);
$deliveryCost = $delivery->getCost($this, 0);//Добавил переменную где получаем price доставки
}
А что если в методе msDeliveryHandler::getCost стоимость доставки зависит от стоимости заказа во втором переданном параметре $cost? А вы туда «0» передаёте. Следовательно ваша стоимость доставки будет одна, а по сути — другая. Надо делать как-то так:

/** @var msDelivery $delivery */
if (!empty($this->order['delivery']) && $delivery = $this->modx->getObject('msDelivery',
        $this->order['delivery'])
) {
    $cost_old = $cost;
    $cost = $delivery->getCost($this, $cost);
    $delivery_cost = $cost - $cost_old;
    unset($cost_old);
}