Jump to content
Shogun Distribution

Références automatiques des déclinaisons

Recommended Posts

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 by Shogun Distribution (see edit history)

Share this post


Link to post
Share on other sites

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 by Shogun Distribution (see edit history)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More