#1 2015-06-01 11:28

lumpi
Пользователь

Все те же дополнительные родительские категории

Так и не смог нигде найти модуль или доработку, чтоб можно было массово добавлять товар в дополнительные родительские категории. Приходится вручную туда тыркать. Однако есть же во вкладке продукты в самом низу переместить. По этой ссылке он перемещает товар в новую категорию, а как доработать, чтоб данная кнопка не перекидывала товар в категорию, а добавляла его в дополнительную родительскую?

Неактивен

 

#2 2015-06-03 10:23

lumpi
Пользователь

Re: Все те же дополнительные родительские категории

Странно, что никого не заинтересовала эта тема sad

Неактивен

 

#3 2015-06-03 10:53

lumpi
Пользователь

Re: Все те же дополнительные родительские категории

в файле 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');
    }

вот как бы его доработать

Неактивен

 

#4 2015-06-03 11:27

lumpi
Пользователь

Re: Все те же дополнительные родительские категории

подправил часть кода

Код:

if($current_categoryID) {
                    $sql = 'INSERT INTO `?#CATEGORIY_PRODUCT_TABLE` SET `categoryID` =? WHERE `productID` = ?@';
                    db_phquery($sql,$categoryID,$m_productID,$categoryID);
                        
                
                }

но выдает - неверный синтаксис SQL. кто сечет в этом?

Неактивен

 

#5 2015-06-03 11:42

lumpi
Пользователь

Re: Все те же дополнительные родительские категории

исправил - теперь вставляет, но по одному sad надо, чтобы вставлялось сразу несколько

Неактивен

 

#6 2015-06-03 13:08

lumpi
Пользователь

Re: Все те же дополнительные родительские категории

Код:

if($current_categoryID) {
                    $sql = 'INSERT INTO `?#CATEGORIY_PRODUCT_TABLE` SET `categoryID` =?, `productID` =?@';
                    db_phquery($sql,$categoryID,$m_productID);
                        
                
                }

Неактивен

 

#7 2015-06-04 02:57

mask
Пользователь

Re: Все те же дополнительные родительские категории

"Тихо сам с собою я виду беседу" - получилось читая ветку форума)
Нужно из списка товаров в админке, выбрать нужные и кинуть их в доп. категории?

Неактивен

 

#8 2015-06-04 08:28

lumpi
Пользователь

Re: Все те же дополнительные родительские категории

Совершенно верно. Процесс бы ускорился в разы. А так приходится заходить в карточку каждого товара.

Неактивен

 

#9 2015-06-04 08:53

lumpi
Пользователь

Re: Все те же дополнительные родительские категории

Но после моего улучшения, можно поставить галочку напротив товара и нажать "переместить в" и он попадает куда надо. Но только по 1-му товару. Однако скорость добавки возросла

Неактивен

 

#10 2015-06-04 08:56

lumpi
Пользователь

Re: Все те же дополнительные родительские категории

вот полностью моя функция

Код:

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');
    }

там добавлена возможность при добавлении в доп.категорию оставаться на той же странице где она на ходится а не перемещяться в ту категорию, куда она попала

Неактивен

 

#11 2015-06-09 12:34

lumpi
Пользователь

Re: Все те же дополнительные родительские категории

Неужели никто не может доработать код?

Неактивен

 

Board footer

Powered by PunBB