Вы не авторизованы.
Так и не смог нигде найти модуль или доработку, чтоб можно было массово добавлять товар в дополнительные родительские категории. Приходится вручную туда тыркать. Однако есть же во вкладке продукты в самом низу переместить. По этой ссылке он перемещает товар в новую категорию, а как доработать, чтоб данная кнопка не перекидывала товар в категорию, а добавляла его в дополнительную родительскую?
Неактивен
Странно, что никого не заинтересовала эта тема
Неактивен
в файле b_categories_products.php есть код
function move_selected_products(){ if(isset($_POST['categoryID'])){ $categoryID = intval($_POST['categoryID']); $current_categoryID = isset($_GET['categoryID'])?intval($_GET['categoryID']):false; $m_productID = array_keys(scanArrayKeysForID($this->getData(), 'selected_product')); $m_productID = array_map('intval',$m_productID); $m_productID = array_unique($m_productID); if(count($m_productID)){ if($current_categoryID) { $sql = 'UPDATE `?#PRODUCTS_TABLE` SET `categoryID` =? WHERE `productID` IN (?@) AND `categoryID`=?'; db_phquery($sql,$categoryID,$m_productID,$current_categoryID); $sql = 'UPDATE `?#CATEGORIY_PRODUCT_TABLE` SET `categoryID` =? WHERE `productID` IN (?@) AND `categoryID`=?'; db_phquery($sql,$categoryID,$m_productID,$current_categoryID); } else { $sql = 'UPDATE `?#PRODUCTS_TABLE` SET `categoryID` =? WHERE `productID` IN (?@)'; db_phquery($sql,$categoryID,$m_productID); /* $sql = 'INSERT IGNORE INTO `?#CATEGORIY_PRODUCT_TABLE` (`productID`,`categoryID`) VALUES (?,?)'; foreach($m_productID as $productID) { db_phquery($sql,$productID,$categoryID); } */ } } } if ( CONF_UPDATE_GCV == '1' )update_products_Count_Value_For_Categories(1); //TODO add translate for prdcat_category_add_to Message::raiseMessageRedirectSQ(MSG_SUCCESS, '&categoryID='.$categoryID, 'msg_information_save'); }
вот как бы его доработать
Неактивен
подправил часть кода
if($current_categoryID) { $sql = 'INSERT INTO `?#CATEGORIY_PRODUCT_TABLE` SET `categoryID` =? WHERE `productID` = ?@'; db_phquery($sql,$categoryID,$m_productID,$categoryID); }
но выдает - неверный синтаксис SQL. кто сечет в этом?
Неактивен
исправил - теперь вставляет, но по одному надо, чтобы вставлялось сразу несколько
Неактивен
if($current_categoryID) { $sql = 'INSERT INTO `?#CATEGORIY_PRODUCT_TABLE` SET `categoryID` =?, `productID` =?@'; db_phquery($sql,$categoryID,$m_productID); }
Неактивен
"Тихо сам с собою я виду беседу" - получилось читая ветку форума)
Нужно из списка товаров в админке, выбрать нужные и кинуть их в доп. категории?
Неактивен
Совершенно верно. Процесс бы ускорился в разы. А так приходится заходить в карточку каждого товара.
Неактивен
Но после моего улучшения, можно поставить галочку напротив товара и нажать "переместить в" и он попадает куда надо. Но только по 1-му товару. Однако скорость добавки возросла
Неактивен
вот полностью моя функция
function move_selected_products(){ if(isset($_POST['categoryID'])){ $categoryID = intval($_POST['categoryID']); $current_categoryID = isset($_GET['categoryID'])?intval($_GET['categoryID']):false; $m_productID = array_keys(scanArrayKeysForID($this->getData(), 'selected_product')); $m_productID = array_map('intval',$m_productID); $m_productID = array_unique($m_productID); if(count($m_productID)){ if($current_categoryID) { $sql = 'INSERT INTO `?#CATEGORIY_PRODUCT_TABLE` SET `categoryID` =?, `productID` =?@'; db_phquery($sql,$categoryID,$m_productID); } else { $sql = 'INSERT INTO `?#CATEGORIY_PRODUCT_TABLE` SET `categoryID` =?, `productID` =?@'; db_phquery($sql,$categoryID,$m_productID); $sql = 'INSERT IGNORE INTO `?#CATEGORIY_PRODUCT_TABLE` (`productID`,`categoryID`) VALUES (?,?)'; foreach($m_productID as $productID) { db_phquery($sql,$productID,$categoryID); } /* INSERT INTO `mi`.`sc_category_product` (`productID`, `categoryID`) VALUES ('1243', '123');*/ } } } $categoryID =$current_categoryID; if ( CONF_UPDATE_GCV == '1' )update_products_Count_Value_For_Categories(1); //TODO add translate for prdcat_category_add_to Message::raiseMessageRedirectSQ(MSG_SUCCESS, '&categoryID='.$categoryID, 'msg_information_save'); }
там добавлена возможность при добавлении в доп.категорию оставаться на той же странице где она на ходится а не перемещяться в ту категорию, куда она попала
Неактивен
Неужели никто не может доработать код?
Неактивен