Shogun Distribution Posted April 27, 2014 Share Posted April 27, 2014 (edited) Bonjour, J'ai sur ma page produit à l'onglet information, une case à cocher qui copie la valeur entre le premier tiret et le deuxième tiret de ma référence produits (F13-13514401-N) pour le coller entre les deux tirets de la référence de mes déclinaisons. (F13-13514401-S/M)(F13-13514401-L/XL) Voici la fonction rajouté à la ligne 2092 (PS1.5.6.1) après la fonction "protected function _applyTaxToEcotax($product)" dans AdminProductsController.php private function updateAttributeRef($product) { global $cookie; $sep = "-"; $first_sep_pos = strpos($product->reference,$sep); $second_sep_pos = strpos(substr($product->reference,$first_sep_pos+1),$sep); $to_chg = substr($product->reference,$first_sep_pos+1,$second_sep_pos); $combinations = $product->getAttributeCombinations((int)($cookie->id_lang)); if (is_array($combinations)) { foreach ($combinations AS $k => $combination) { $first_sep_pos = strpos($combination['reference'],$sep); if ($first_sep_pos !== false) { $second_sep_pos = strpos(substr($combination['reference'],$first_sep_pos+1),$sep); $new_ref = substr($combination['reference'],0,$first_sep_pos+1).$to_chg.substr(substr($combination['reference'],$first_sep_pos+1),$second_sep_pos); Db::getInstance()->ExecuteS('UPDATE `'._DB_PREFIX_.'product_attribute` SET reference = "'.$new_ref.'" WHERE id_product_attribute = '.$combination['id_product_attribute'].';'); } } } } Comment pourrais je changer ce code pour qu'il colle plutôt l'Id_product_attribut après le premier tiret de la référence déclinaison en sachant qu'il n'y aura plus q'un seul tiret. (F13-id_product_attribut) Merci d'avance pour votre aide. Edited April 28, 2014 by Shogun Distribution (see edit history) Link to comment Share on other sites More sharing options...
Shogun Distribution Posted April 28, 2014 Author Share Posted April 28, 2014 (edited) Ce bout de code peut peut-être en intéresser certain tel quel. Pour qu'il fonctionne, il faut aussi modifier le code dans Admin\Themes\default\template\controllers\products\informations.tpl à la ligne 134 (dans PS 1.5.6.1) <tr> <td class="col-left"><label>{$bullet_common_field} {l s='Reference:'}</label></td> <td style="padding-bottom:5px;"> <input size="55" type="text" name="reference" value="{$product->reference|htmlentitiesUTF8}" style="width: 130px; margin-right: 44px;" /> <span class="hint" name="help_box">{l s='Special characters allowed:'}.-_#\<span class="hint-pointer"> </span></span> </td> </tr> par ; <tr> <td class="col-left"><label>{$bullet_common_field} {l s='Reference:'}</label></td> <td style="padding-bottom:5px;"> <input size="55" type="text" name="reference" value="{$product->reference|htmlentitiesUTF8}" style="width: 130px; margin-right: 4px;" /><input type="checkbox" name="chg_attr_ref" value="1"/> {l s='Modify attributes'}. <span class="hint" name="help_box">{l s='Special characters allowed:'}.-_#\<span class="hint-pointer"> </span></span> </td> </tr> Edited April 28, 2014 by Shogun Distribution (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now