Один вопрос за триста.

6 300
Нужен ответ на два вопроса, за каждый ответ 300 рублей вознаграждение.

1. Максимальное количество товара в размере одной единицы?

Есть плагин:

<?php
if ($modx->event->name = 'msOnBeforeAddToCart' || $modx->event->name = 'msOnBeforeChangeInCart') {
	$values = & $modx->event->returnedValues;
	if ($values['count'] < 1) {
		$values['count'] = 1;
	}
}
Который позволяет выбрать только одну единицу из позиции, а нужно сделать, чтобы он выбирал одну единицу среди всех позиций.

Свое решение напишите сюда, если решение рабочее, то перечислю вознаграждение 300 руб.

2. Скрыть поле в корзине при достижении определенной суммы. Update: Вопрос решен

Есть плагин, сделанный по данной инструкции:

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) {

        $cart = $order->ms2->cart->status();
        $cart_cost = $cart['total_cost'];

        if($cart_cost > 3000){
		$this->modx->getPlaceholder('style','<style>...</style>');  // Здесь нужно заставить плейсхолдер работать
            return $cost;
        }else{
            return $cost;
        }
    }
}

Нужно, сделать, чтобы передавались данные с помощью плейсхолдера, например если вместо
$this->modx->getPlaceholder('style','<style>...</style>');
написать
print'<style>...</style>';
то данные передаются, но вот отправка заказа перестает работать.

Свое решение напишите сюда, если решение рабочее, то перечислю вознаграждение 300 руб.

С уважением.
Александр Наумов
Александр Наумов
19 декабря 2017, 18:05
modx.pro
1 214