Данный сниппет позволяет установить габаритные размеры товара на сайте из доп полей товар Мой склад.
//Установка Длины, Ширины, Высоты
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;
}
