Данный сниппет позволяет установить габаритные размеры товара на сайте из доп полей товар Мой склад.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | //Установка Длины, Ширины, Высоты 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; } |