Jump to content

[Résolu] Personnalisé la personnalisation


Recommended Posts

Bonjour à tous,

 

Alors je vous explique mon problème. Je mets un maillot de hockey sur glace dans mes produits. L'utilisateur peut avoir le choix entre un nom et un numéro de joueur, floqué au dos, prédéfini (joueur de l'équipe) ou de personnalisé son nom et son numéro soit même.

J'aimerais mettre une action en place : 

        - si il prend un joueur prédéfini, il le sélectionne et ajoute son produit au panier

        - sinon il choix la déclinaison personnalisation et il doit être obligé de valider l'onglet personnalisation sans ça il ne peut ajouter l'article au panier

J'espère avoir été clair dans mon explication et que quelqu'un pourra m'aider. Merci :) 

Edited by Typhanie (see edit history)
Link to comment
Share on other sites

Le nom du module : il n'y en a pas, du moins pour le moment j'ai juste créé un produit avec des déclinaisons et l'option personnalisation.

La version de PS : 1.6.1.17

Oui mon site est en ligne : shop-corsaires.imie-nantes.fr (beaucoup de choses à revoir encore)

Link to comment
Share on other sites

<script>
$('button[type="submit"]').click(function(event)

{
    if($( "select#group_4 option:selected" ).val()==44)
    {
                
        alerte();
        event.preventDefault();
            }
});

function alerte(event)
{
    
        if($("#textField0").val()=="")
        alert("En cas de choix de maillot personnalisé, le nom du joueur est obligatoire ! Veuillez le renseigner.");
        $( "#textField0" ).focus();
        event.preventDefault();
        
        if($("#textField1").val()=="")
        alert("En cas de choix de maillot personnalisé, le numéro du joueur est obligatoire ! Veuillez le renseigner.");
        $( "#textField1" ).focus();
        event.preventDefault();
}

</script>

  • Like 1
Link to comment
Share on other sites

tu peux voir ce que ca donne en copiant le code entre <script>  et </script> puis aller dans chrome, faire F12 --> console --> le coller --> entree

ca affiche bien les alertes si tu cliques sur le bouton d ajout au panier, et je v trouver l astuce pour l empecher

je pense que c'est un appel en ajax, c pour ca que ca passe au panier

je travaille dessus ce weekend

Edited by Ryan Hidri
rectif (see edit history)
Link to comment
Share on other sites

essaye le code suivant et dis moi si c bien ce que tu veux avoir comme comportement :

 


$('button[type="submit"]').click(function(e)

{
    if($( "select#group_4 option:selected" ).val()==44)
    {
                
        if(!alerte())
        {
            return false;
        }
        else
        {
            $('button[name="saveCustomization"]').trigger("click");
        }
    }
});

function alerte(ev)
{
    if($("#textField0").val()=="")
    {
        alert("En cas de choix de maillot personnalisé, le nom du joueur est obligatoire ! Veuillez le renseigner.");
        $( "#textField0" ).focus();
        return false;
    }
    
    else if($("#textField1").val()=="")
    {
        alert("En cas de choix de maillot personnalisé, le numéro du joueur est obligatoire ! Veuillez le renseigner.");
        $( "#textField1" ).focus();
        //ev.preventDefault();
        return false;
    }
    else
    {
        return true;    
    }
}

Link to comment
Share on other sites

tu dois aller au fichier themes/ton theme/product.tpl

juste avant </body>

 

tu mets

<script>


$('button[type="submit"]').click(function(e)

{
    if($( "select#group_4 option:selected" ).val()==44)
    {
                
        if(!alerte())
        {
            return false;
        }
        else
        {
            $('button[name="saveCustomization"]').trigger("click");
        }
    }
});

function alerte(ev)
{
    if($("#textField0").val()=="")
    {
        alert("En cas de choix de maillot personnalisé, le nom du joueur est obligatoire ! Veuillez le renseigner.");
        $( "#textField0" ).focus();
        return false;
    }
    
    else if($("#textField1").val()=="")
    {
        alert("En cas de choix de maillot personnalisé, le numéro du joueur est obligatoire ! Veuillez le renseigner.");
        $( "#textField1" ).focus();
        //ev.preventDefault();
        return false;
    }
    else
    {
        return true;    
    }
}

</script>

 

ensuite tu suuprimes le cache PS et tu testes sur ton site

 

 

Link to comment
Share on other sites

Alors j'y suis presque :

- Premièrement ne pas mettre le bouton "Ajouter au Panier" lorsque le produit à des attributs (déclinaisons) : Préférence > Produits > Fiche Produit : il suffit de mettre "non" à ==>> Afficher le bouton "ajouter au panier" lorsque le produit a des attributs

- Deuxièmement mettre la personnalisation en pré-requis : Catalogue > Produits > Aller sur le produit concerner > Personnalisation > Cocher Requis

Bon il ne me reste plus qu'à les mettre requis uniquement lorsque l'on choisi la déclinaison "personnalisation" (que j'ai créé)... Il y a peut être un autre moyen, par exemple ne pas mettre une déclinaison "personnalisation"... A voir :) 

Link to comment
Share on other sites

Le script fonctionne nikel :) 

Lorsque je clique sur personnalisé mon maillot et je clique sur "Ajouter au panier" j'ai bien ce pop-up : 

En cas de choix de maillot personnalisé, le nom du joueur est obligatoire ! Veuillez le renseigner.

Et ça situe l'utilisateur directement sur le champs à remplir!! Donc c'est parfait.

J'ai préféré faire un onglet "PERSONNALISER MON MAILLOT" je trouve ça plus clair pour les clients!!

 

Milles merci ;) 

Link to comment
Share on other sites

Ce que je souhaitais c'est avoir une sécurité lorsque l'utilisateur souhaite personnalisé son maillot de hockey. Il ne devait pas pouvoir le mettre au manier sans avoir remplit le nom et le numéro de son choix!! Mission accomplie car lorsque je clique son "PERSONNALISER MON MAILLOT" je ne peux pas rajouter mon article au panier sans avoir un blocage si le nom et le numéro ne sont pas rempli!!

Link to comment
Share on other sites

  • 1 year later...

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