Jump to content

MassUpdate


milan77

Recommended Posts

Zdravim.

Začal jsem používat tento modul:

http://www.prestashop.com/forums/viewthread/14679/modules___development/mass_update_module



Neni problém si i přidat další sloupce, problém je v tom, že jdou jen číselné. Resp. jdou načíst i proměnné i textové(name, description,atd), ale po save to hodí hlášku unknow column :-(

V massupdate.php je to updatování v této sekci myslim:

function updateProducts()
   {
       $product_settings = $_POST['mup'];

       if(!is_array($product_settings)){
           return false;
       }

       $main_fields = $this->getConfig();

       foreach($product_settings as $product_id => $data){
           $product_id = (int)$product_id;
           if(!$product_id)continue;
           $sql = "UPDATE "._DB_PREFIX_."product SET date_upd = NOW() ";
           $do_update = false;
           // we're updating the product id. check and update the main fields.
           foreach($main_fields as $field){
               $update_value = trim(pSQL($data[$field['db_field']]));
               if($update_value){
                   // we've found a main field to update!
                   $do_update = true;
                   $sql .= ", `".$field['db_field']."` = '$update_value' ";
               }
           }
           if($do_update){
               $sql .= " WHERE `id_product` = '$product_id' LIMIT 1";
               //echo $sql ." 
\n";
               if(!Db::getInstance()->Execute($sql)){
                   // yer yer i know - dodgey - but this should never happen, all input is sanatised.
                   // a "just in case" so we dont go and bork all our products if there's a coding error.
                   echo "FAILED TO UPDATE: $sql ";
                   echo mysql_error();
                   exit;
               }
           }



Poradíte mi někdo, jak tam zprovoznit i textové proměnné?


Díky

Link to comment
Share on other sites

Zdravim.

Začal jsem používat tento modul:

http://www.prestashop.com/forums/viewthread/14679/modules___development/mass_update_module



Neni problém si i přidat další sloupce, problém je v tom, že jdou jen číselné. Resp. jdou načíst i proměnné i textové(name, description,atd), ale po save to hodí hlášku unknow column :-(



Problem je v sql = "UPDATE "._DB_PREFIX_."product...." - to aktualizuje pouze tabluku 'product', ale textove hodnoty jsou v tabulce product_lang. Musel bys pridat SQL update pro product_lang table, rozsirit zaznam pro sloupec, aby bylo poznat jestli se ma updatovat product nebo product_lang a nezapomenout na ID jazyka.
Link to comment
Share on other sites

Ještě mne napadlo. Nešlo by tam, nějak zakomponovat kategorie? Myslím, že by to mělo jít takto:

$main_category_fields = array(
          "xxx"=>array(
                "db_field"=>"xxx",
                "friendly"=>"xxx",
                "isLang"  => 1,
                "input_size" => 40,
.
.
.



Akorát nevim, co dáz za xxx a pak v updatu, co nastavit :-(

Poradíte mi někdo?

Link to comment
Share on other sites

V databázi produktů je uloženo číslo kategorie v poli id_category_default. Přidat toto pole nebude problém, ale musel bys pak zadávat kategorii jejím číslem (1,2,3,...). Aby se tam zobrazoval název kategorie a ještě navíc ve formě stromu už by bylo náročnější.

Link to comment
Share on other sites

Ale i podkategorie maj id čísla další v řadě, takže nebudou nikdy stejná...aha, ale ty jsi asi měl na mysli, že najsou postupně, že když se smaže, že zůstávají vlastně prázdný...
Hm, to je blbý...ale nějak by to mohlo jít, bylo by to luxusnější ještě...ale je fakt, že se to needituje tak často...ale zkusim hledat ještě...
Ale i tak díky

Link to comment
Share on other sites

  • 3 months later...

Hezký den,všem . Nainstaloval jsem si modul MASS UPDATE do verze 1.2.5. Všechno OK,ale nevím jak s tím pracovat. V nastavení modulu vidím vypsané všechny produkty Název, Cenu, Váhu, Množství. jak mám ale provést hrommadně změnu u množství atd... Nějak tomu nerozumím. Díky všem

Link to comment
Share on other sites

To myslíš vážne? Tak napríklad skús prepísať množstvo a stlačiť celkom dole tlačidlo UPDATE. Ak ti toto robí problém, nechápem ako chceš prevádzkovať e-shop. Mimochodom, kvoli takýmto otázkam niektorý členovia tu chytaju pomaly infarkt.

Link to comment
Share on other sites

Ty jsi mě nepochopil. Pokud mám aktuálně v e-shopu nastaveno u všech položek 0 kusů, tak když chci hromadně nastavit u všeho např. 100 kusů. Přece nebudu položku po položce upravovat ručně...... Tak jsem to myslel. Navíc 10000 položek je dost na ruční editaci

Link to comment
Share on other sites

Tak presne tak to funguje. Tento modul je robený na takúto zmenu. Ak chceš zmeniť u 10000 položiek cenu naraz tak len cez databázu pomocou SQL. Cenu predsa zadavaš pri zakladani karty tovaru. A aby si potom nemusel opravovať cenu stále tak, že vlezieš na kartu tovaru a tam to zmeniš, maš modul mass update. Cez mass update zmeniš to čo potrebuješ a zapíšeš to do databázy naraz jedným stlačením tlačidla. Pochybujem že niekto naraz meni cenu u napr. 10000 položiek. Modul je na úpravu cenu, nie na zadávanie ceny.

Link to comment
Share on other sites

Nie je, cena alebo množstvo je to isté. Pozri sa na to takto. Koľko druhov tovaru maš v rovnakom množstve? Predpokladam že z každého druhu tovaru máš rôzne množstvo a tak teda musiš zadavať množstvo u jednotlivých položiek len individuálne. Alebo ako som už napísal, cez SQL. Spravíš si SELECT ...... v databáze a zmeniš buď cenu, množstvo alebo čo chceš. Ale to zase predpoklada nejaké skúsenosti s prácou s databázou. Sú to jednoduché príkazy v SQL jazyku a aj úprava ceny alebo množstva je jednoduchá, nakoľko zmeny robíš len v jednej tabuľke.

Link to comment
Share on other sites

  • 2 months later...

Tak po nějaké době oživím toto téme ;-)

Modul funguje parádně, i jsem si vytvořil přepínání DPH, ALE...
nemůžu dostat hodnotu DPH (i když mám:

"rate"=>array(
                "db_field"=>"rate",
                "friendly"=>"DPH",
                "isLang"  => 0,
                "input_size" => 10,
            ),



a nemůžu tam dostat cenu s DPH

Nemáte to někdo?
Díky

Link to comment
Share on other sites

  • 8 months later...

Zdravím,

modul funguje dobře. Nicméně hodnoty změní pouze u prvních X produktů a u ostatních už ne. Když jsem odstranil nějaké sloupce, tak jsem tu možnost upravit hodnoty rozšířil z prvních 24 řádků na 52 řádků, ale osatní zůstanou již beze změny. Otázka je taková. Vím, že to není modulem, ale nastavením hostingu. Která hodnota určuje tuto limitu? Není problém vlézt do php.ini či jiných nastavení.

Předem díky za případnou pomoc.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...