Редактироваться будет всего-лишь 1 файл administrator\components\com_virtuemart\classes\ps_product_category.php в именно функция validate_delete
Было:
function validate_delete( $category_id, &$d) { global $vmLogger, $VM_LANG; $db = new ps_DB; require_once(CLASSPATH . 'imageTools.class.php' ); if (empty( $category_id )) { $vmLogger->err( $VM_LANG->_('VM_PRODUCT_CATEGORY_ERR_DELETE_SELECT') ); return False; } // Check for children $q = "SELECT * FROM #__{vm}_category_xref where category_parent_id='$category_id'"; $db->setQuery($q); $db->query(); if ($db->next_record()) { $vmLogger->err( $VM_LANG->_('VM_PRODUCT_CATEGORY_ERR_DELETE_CHILDREN') ); return False; } $q = "SELECT category_thumb_image,category_full_image FROM #__{vm}_category WHERE category_id='$category_id'"; $db->query( $q ); $db->next_record();
Стало:
function validate_delete( $category_id, &$d) { global $vmLogger, $VM_LANG, $ps_product_category; $db = new ps_DB; require_once(CLASSPATH . 'imageTools.class.php' ); if (empty( $category_id )) { $vmLogger->err( $VM_LANG->_('VM_PRODUCT_CATEGORY_ERR_DELETE_SELECT') ); return False; } // Check for children $q = "SELECT * FROM #__{vm}_category_xref where category_parent_id='$category_id'"; $db->setQuery($q); $db->query(); if ($db->num_rows() > 0) { while ($db->next_record()) { $cat_delete = array('category_id'=>$db->f("category_child_id")); $ps_product_category->delete($cat_delete); } } $q = "SELECT category_thumb_image,category_full_image FROM #__{vm}_category WHERE category_id='$category_id'"; $db->query( $q ); $db->next_record();