Desler

Desler

С нами с 12 ноября 2016; Место в рейтинге пользователей: #1451
Никита Павлов
Никита Павлов
04 января 2014, 16:29
2
0
Итак, вот мой кастомный класс доставки:
<?php
class hobysDeliveryHandler extends msDeliveryHandler {
	
	public function getCost(msOrderInterface $order, msDelivery $delivery, $cost = 0) {
		$cart = $this->ms2->cart->status();
	    $cities = $this->modx->getService('delcities','DelCities',$this->modx->getOption('delcities.core_path',null,$this->modx->getOption('core_path').'components/cities/').'model/DelCities/');

	$delid = $delivery->get('id');
        $cityid = $_POST['city'];
        $city = $this->modx->getObject('DelCity',$cityid);
        switch ($delid) {
        case 1:
        $add_price = $city->get('self');
        break;
        case 2:
        $add_price = $city->get('courier');
        break;
        case 3:
        $add_price = $city->get('post');
        break;
        }

		$cost += $add_price;
		return $cost;
	}
}
Так выглядит часть чанка заказа с выбором городов:
<div class="control-group">
			    <label class="control-label"><span class="required-star">*</span>Выберите город</label>
				<div class="controls input-parent">
					<select id="cities" name="city">
					     [[!delcities? &tpl=`delcities`]]
					</select> 
				</div>
				<label class="control-label"><span class="required-star">*</span> [[%ms2_frontend_delivery_select]]</label>
				<div class="controls">
					[[+deliveries]]
				</div>
				
			</div>
При проверке переменная $cityid = $_POST['city']; оказывается пустой.

Я заметил что при редактировании любого поля формы, отсылается запрос POST к action.php с кодом действия add. Мой же селект полностью игнорируется, думаю в этом и причина. Возможно неправильно оформлен селект, не хватает атрибутов, был бы благодарен за подсказку.