Без рубрики

Установка Длины, Ширины, Высоты

Данный сниппет позволяет установить габаритные размеры товара на сайте из доп полей товар Мой склад.

 

//Установка Длины, Ширины, Высоты
add_filter('wms_assortment_ms_array', 'msw_add_assortment_attr');

function msw_add_assortment_attr($aAssortment)
{
	if (isset($aAssortment['attributes'])) {
	    $aAssortment['productAttributes'] = $aAssortment['attributes'];
	}
	
	return $aAssortment;
}


add_filter('wms_assortment_update_filter', 'msw_add_dimensions_product', 10, 2);
 
function msw_add_dimensions_product($oProduct, $aAssortment)
{
    if (isset($aAssortment['productAttributes'])) {
 
        foreach ($aAssortment['productAttributes'] as $key => $value) {
 
            switch ($value['name']) {
                case 'Длина'://название доп поля длины
                    $oProduct->set_length($value['value']);
                    break;
                case 'Ширина'://название доп поля ширины
                    $oProduct->set_width($value['value']);
                    break;
                case 'Высота'://название доп поля высоты
                    $oProduct->set_height($value['value']);
                    break;
 
            }
 
        }
 
    }
 
    return $oProduct;
}
//Исключение атрибутов
add_filter('wms_attribute_action', 'msw_attributes_delete',10);
 
function msw_attributes_delete($aAttributes)
{
    $aUnsetAttributes = array('Длина', 'Ширина', 'Высота');
 
    foreach ($aAttributes as $key => $value) {
        if (in_array($value['name'], $aUnsetAttributes)) {
            unset($aAttributes[$key]);
        }
    }
 
    $aNewAttributes = array();
 
    foreach ($aAttributes as $key => $value) {
        $aNewAttributes[] = $value;     
    }
 
    return $aNewAttributes;
}