Jump to content

[ ASTUCE ] Génération de jolis codes de réduction ^^


Recommended Posts

Salut la communauté,

 

Je pose ici une astuce toute simple qui permet de générer de jolis codes de réduction de ce type :

 

VJX7C-RIH7B-12K49

 

 

Ouvrez le fichier js/admin.js, trouvez (vers la ligne 350) :

/* Code generator for Affiliation and vouchers */
function gencode(size)
{
    getE('code').value = '';
    /* There are no O/0 in the codes in order to avoid confusion */
    var chars = "123456789ABCDEFGHIJKLMNPQRSTUVWXYZ";
    for (var i = 1; i <= size; ++i)
        getE('code').value += chars.charAt(Math.floor(Math.random() * chars.length));
}

et ajoutez juste en dessous cette nouvelle fonction :

function genserialnumber(size)
{
    getE('code').value = '';
    /* There are no O/0 in the codes in order to avoid confusion */
    var chars = "123456789ABCDEFGHIJKLMNPQRSTUVWXYZ";

    var serie1 = '';
    var serie2 = '';
    var serie3 = '';

    for (var i = 1; i <= size; ++i)
        serie1 += chars.charAt(Math.floor(Math.random() * chars.length));

    for (var j = 1; j <= size; ++j)
        serie2 += chars.charAt(Math.floor(Math.random() * chars.length));

    for (var k = 1; k <= size; ++k)
        serie3 += chars.charAt(Math.floor(Math.random() * chars.length));

    getE('code').value += serie1+'-'+serie2+'-'+serie3;
}

Puis ouvrez VOTREADMIN/themes/default/templates/controllers/cart_rules/informations.tpl et trouvez :

<a href="javascript:gencode(8);" class="btn btn-default"><i class="icon-random"></i> {l s='Generate'}</a>

et remplacez par :

<a href="javascript:genserialnumber(5);" class="btn btn-default"><i class="icon-random"></i> {l s='Generate'}</a>

Et voilà vos prochains codes de réductions seront générés par trois groupes de 5 lettres ou chiffres :)

 

Si vous mettez genserialnumber(4), ils seront générés par trois groupes de 4 lettres ou chiffres, etc...

 

 

Je trouvais les codes de base, générés par Prestashop, un peu fades ^^
 

Link to comment
Share on other sites

  • 4 months later...

J'ai trouvé une solution, c'est dans AdminOrderController.php. J'ai remplacé sprintf('V%1$dC%2$dO%3$d' par sprintf('V%1$dC%2$dS%3$d'

(ça remplace la lettre O par S) ce qui évite la confusion en O et zéro lors de la saisie du code promo.

// Update the voucher code and name
								foreach ($languages as $language)
									$cart_rule->name[$language['id_lang']] = sprintf('V%1$dC%2$dS%3$d', $cart_rule->id, $order->id_customer, $order->id);
								$cart_rule->code = sprintf('V%1$dC%2$dS%3$d', $cart_rule->id, $order->id_customer, $order->id);
Edited by carlitos666 (see edit history)
Link to comment
Share on other sites

  • 3 months later...

Bonjour

super cette petite modif, la confusion entre le O et le 0 devenais agaçante.

Savez vous comment faire la même chose pour les codes  lors de la génération de code de réduction aléatoire manuellement depuis le BO

je suis en 1.5.6.1

 

cdlt

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...