AccueilDernières imagesRechercherS'enregistrerConnexion

Forum de graphisme, codage et game design proposant des tutoriels, astuces, libres services et commandes dans les domaines de l'infographie amateur, de l'intégration web (HTML et CSS essentiellement) ainsi que dans la conception de RPG sur forum.

Le deal à ne pas rater :
Jeux, jouets et Lego : le deuxième à -50% (large sélection)
Voir le deal

    Personnalisation Boutique pour mon forum

    Illeanëlia
    Illeanëlia
    FémininAge : 37Messages : 404

    Jeu 30 Mai 2019 - 9:45

    Bonjour,

    Voilà je cherche à installer un sytème de boutique sur mon forum pour l'achat de tous ce qui est arme, kit de survie, animaux de companie ect... J'ai trouver donc le petit LS très sympathique et je me suis mise à l'utiliser pour créer ma boutique pour mon forum. Very Happy
    Etant sur un forum de l'univers de Percy Jackson je personnalise en ce sens la boutique comme expliqué dans le Ls, mais je rencontre des difficultés sur certaines chose. Voilà j'ai 3 types de métaux et si le métaux commun est le bronze céleste, une arme en fer stygien est rare et une hybride très rare aussi l'achat d'une arme en fer stygien ou en métal hybride à un coup supplémentaire et je ne vos pas comment personnaliser cela sur la boutique. De plus je me retrouve avec les roduits lesuns derrièreles autre là ou jaurais aimé les avoirs par 4 ou 5 sur une lignes mais je ne trouve pas comment faire.

    Merci par avance à celui qui poura m'aider là-dessus.

    Onyx
    Onyx
    FémininAge : 30Messages : 3350

    Ven 31 Mai 2019 - 0:06

    Salut!

    Je ne vois pas où est le problème exactement. Si par "rare", tu veux dire qu'il y a un nombre limité d'arbres pouvant être vendues, tu peux simplement l'écrire dans la description qu'il y a 5 armes X et les diminuer chaque fois que quelqu'un en achète une.
    Si c'est par rapport aux types de métaux, tu peux même mettre une catégorie "métal" dans le menu pour que les gens puissent trier selon le type de métaux.

    Sinon, tu peux donner le lien de ta boutique actuelle et un schéma de ce que tu veux pour qu'on puisse le reproduire?



    Illeanëlia
    Illeanëlia
    FémininAge : 37Messages : 404

    Ven 31 Mai 2019 - 0:42

    Alors j' ai fait un croquis pour les modifications que j'aimerais que j'ai apparemment pas expliquée de manière claire plus une capture d'écran de la boutique actuel. 

    Boutique actuel
    schémas du rendu que j'aimerais
    Onyx
    Onyx
    FémininAge : 30Messages : 3350

    Ven 31 Mai 2019 - 2:07

    Salut!

    Je voulais le lien pour avoir le code de la boutique pour partir de ce que tu as en fait, alors tu peux filer le code?

    Aussi, est-ce que toutes les armes ont la possibilité d'être dans les 3 métaux? Si tu préfère, on pourrait mettre un choix sur les items (bronze par défaut) où ils cochent s'ils veulent du fer ou du métal hybride et le prix s'ajuste automatique. Sinon, on le garde comme tu l'as fait.

    Les enchantement et les personnalisations, si cela s'ajoute sur une arme/armure existante et on pourrait faire la même chose en ajoutant l'option directement sur l'item ou c'est un truc complètement à part?

    Les animaux, il faut choisir son nom à l'achat ou on s'en fiche?

    Merci ^^



    Illeanëlia
    Illeanëlia
    FémininAge : 37Messages : 404

    Ven 31 Mai 2019 - 9:19

    Code:
    <br /><!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8" />
      <meta name="author" content="Onyx" />
      <title>Olympie's Shop</title>
      <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
      <script type="text/javascript" src="http://tinyurl.com/var-fa"></script>
      <link href='https://fonts.googleapis.com/css?family=Dancing+Script|Libre+Baskerville' rel='stylesheet' type='text/css' />
      <style type="text/css">
        /*Corps*/
        body {
        margin: 0px;
        }
        /*Le bloc entier de la boutique*/
        #boutique {
        position: relative;
        padding-bottom: 10px;
        margin: auto;
        max-width: 600px;
        background-color: #ADB9D1;
        border: 8px double #232937;
        border-left: 1px solid #9CAAC4;
        border-right: 1px solid #9CAAC4;
        font-size: 14px;
        font-family: 'Times New Roman';
        color: #707070;
        text-align: center;
        }
        /*Le bloc du titre de la boutique*/
        #boutique_top {
        padding: 10px;
        font-size: 26px;
        font-family: 'Dancing Script', script;
        text-align: center;
        border-bottom: 1px solid #9CAAC4;
        margin-bottom: 10px;
        margin-left: 10px;
        margin-right: 10px;
        }
        /*Menu de gauche*/
        #menu {
        float: left;
        text-align: left;
        padding-top: 5px;
        width: 150px;
        height: 880px;
        margin-right: 10px;
        padding-left: 5px;
        border-right: 1px solid #9CAAC4;
        }
        /*Les boutons de tri*/
        #trier, #trier2 {
        display: block;
        margin: auto;
        }
        /*Titres des catégories*/
        .menu_title {
        display: inline-block;
        margin-left: 20px;
        border-bottom: 1px solid #707070;
        color: #707070;
        font-size: 16px;
        }
        /*Liste des options des catégories*/
        #menu ul {
        margin-top: 5px;
        margin-bottom: 10px;
        list-style-type:none; 
        }
        /*Option des catégories*/
        #menu ul li {
        margin-left: -30px;
        }
        /*Partie de droite*/
        #middle {
        overflow: auto;
        height: 880px;
        text-align: center;
        }
        /*Div de un seul item*/
        .contenu_shoponglet > div {
        display: inline-block;
        text-align: center;
        margin-bottom: 10px;
        padding: 10px;
        }
        /*Bloc qui contient l'item*/
        .item_bloc {
        display: inline-block;
        vertical-align: top;
        background-color: #cfcfcf;
        box-shadow: 0px 0px 10px #353535;
        width: 130px;
        padding: 5px;
        color: #565656;
        }
        /*Image de l'item*/
        .item_bloc > img:first-child {
        display: inline-block;
        width: 100px;
        height: 100px;
        }
        /*Nom de l'item*/
        .item_name {
        padding: 5px;
        font-size: 16px;
        font-family: 'Cambria';
        font-weight: bold;
        text-transform: uppercase;
        }
        /*Input du nombre d'item à acheter*/
        input[type="number"] {
        display: inline-block;
        max-width: 50px;
        border: 1px solid #a3a3a3;
        background-color: #efefef;
        text-align: center;
        margin-bottom: 2px;
        }
        /*Partie du panier*/
        #bottom {
        position: relative;
        display: inline-block;
        margin: auto;
        width: 510px;
        background-color: #efefef;
        box-shadow: 0px 0px 10px #353535;
        color: #565656;
        text-align: center;
        overflow: hidden;
        }
        /*Titre du panier*/
        #bottom_top {
        position: relative;
        z-index: 2;
        font-size: 24px;
        font-family: 'Dancing Script', script;
        text-align: center;
        border-bottom: 1px solid #747474;
        width: 500px;
        padding: 5px;
        background-color: #dfdfdf;
        box-shadow: 0px 0px 10px #353535;
        color: #565656;
        }
        /*Panier visible*/
        #vuepanier {
        position: relative;
        z-index: 1;
        margin: 10px;
        margin-right: 0px;
        margin-left: 0px;
        width: 500px;
        height: 100px;
        background-color: #efefef;
        padding: 5px;
        padding-top: 0px;
        padding-bottom: 0px;
        color: #565656;
        text-align: justify;
        overflow: auto;
        }
        /*Bouton effacer et soumettre le panier*/
        #soumettrepanier, #effacerpanier {
        display: inline-block;
        margin: auto;
        margin-top: 10px;
        margin-bottom: 5px;
        }
        /*Bouton soumettre le panier*/
        #effacerpanier {
        margin-right: 15px;
        }
        /*Credit*/
        .credits {
        font-size: 12px;
        position: absolute;
        width: 200px;
        bottom: 2px;
        left: 2px;
        text-align: left;
        }
        
        /*Liens*/
        a {
        text-decoration: none;
        color: #454545;
        }
        a:hover {
        color: #000000;
        }
        
        /*Bloc objet dans le panier*/
        .item_input {
        display: inline-block;
        margin-bottom: 5px;
        background-color: #cfcfcf;
        padding: 2px;
        width: 475px;
        text-align: left;
        }
        /*Le bloc du nom et prix de l'objet dans le panier*/
        .iteminsidepanier {
        margin-left: 5px;
        display: inline-block;
        text-align: left;
        }
        /*Les boutons dans le panier*/
        .item_input button {
        }
        /*Le bouton supprimer de l'objet dans le panier*/
        .button_delete {
        margin-right: 2px;
        display: inline-block;
        }
        /*La quantité de l'objet dans le panier*/
        .input_nb_object {
        margin: 0px 2px 0px 2px;
        display: inline-block;
        padding: 2px;
        border: 1px solid #a3a3a3;
        background: #efefef;
        width: 45px;
        text-align: center;
        }
      </style>
    </head>
    <body>
      <form enctype="multipart/form-data" name="post" method="post" action="/post" id="boutique" onsubmit="CompleteMessage()" target="_blank">
        <div class="credits">Par Onyx de <a href="http://www.never-utopia.com/forum" target="_blank" >Never-Utopia</a>.</div>
        <div id="boutique_top"><div id="badam"></div>
          La boutique de <span class="La colonie"></span>
        </div>

        <!-- DÉBUT DU MENU POUR TRIER -->
        <div id="menu">
          <button id="trier2" type="button" onclick="notriage()">Rénitialiser le Tri</button><br />
          <button id="trier" type="button" onclick="triage()">Trier les Items</button><br />

          <!-- DÉBUT CATÉGORIE TYPE -->
          <span class="menu_title">Type</span>
          <ul id="Type">
            <!-- OPTION #1 -->
            <li><input type="checkbox" name="Arme" /> 
              Armes
            </li>
            <!-- OPTION #2 -->
            <li><input type="checkbox" name="Armure" /> 
              Armures
            </li>
            <!-- OPTION #3 -->
            <li><input type="checkbox" name="Pharmacie" /> 
              Pharmacie
            </li>
            <!-- OPTION #4 -->
            <li><input type="checkbox" name="Objet" /> 
              Objets
            </li>
            <!-- OPTION #5 -->
            <li><input type="checkbox" name="Animaux" /> 
              Animaux
            </li>
            <!-- OPTION #6 -->
            <li><input type="checkbox" name="Sortilèges" /> 
              Sortilège et Personnalisatio
            </li>
                </ul>
          <!-- FIN CATÉGORIE TYPE -->

          <!-- DÉBUT CATÉGORIE NIVEAU -->
          <span class="menu_title">Catégorie</span>
          <ul id="Métaux">
            <!-- OPTION #1 -->
            <li><input type="checkbox" name="Bronze céleste" /> 
              Bonze céleste
            </li>
            <!-- OPTION #2 -->
            <li><input type="checkbox" name="Fer stygien" /> 
              Fer stygien
            </li>
            <!-- OPTION #3 -->
            <li><input type="checkbox" name="Hybride" /> 
              Hybride
            </li>
            <!-- OPTION #4 -->
            <li><input type="checkbox" name="Nourriture Divine" /> 
              Divine
            </li>
            <!-- OPTION #5 -->
            <li><input type="checkbox" name="Enchantement" /> 
              Enchantement et transformation
            </li>
            <!-- OPTION #6 -->
            <li><input type="checkbox" name="Soin" /> 
              Soin
            </li>
                     </ul>
          <!-- FIN CATÉGORIE NIVEAU -->

          <!-- DÉBUT CATÉGORIE PRIX -->
          <span class="menu_title">Prix</span>
          <ul id="Prix">
            <!-- OPTION #1 -->
            <li><input type="checkbox" name="Max99" /> 
              Moins que 100
            </li>
            <!-- OPTION #2 -->
            <li><input type="checkbox" name="100_499" /> 
              [100 et 499]
            </li>
            <!-- OPTION #3 -->
            <li><input type="checkbox" name="500_999" /> 
              [500 et 999]
            </li>
            <!-- OPTION #4 -->
            <li><input type="checkbox" name="1000_4999" /> 
              [1000 et 4999]
            </li>
            <!-- OPTION #5 -->
            <li><input type="checkbox" name="5000_10000" /> 
              [5000 et 10000]
            </li>
            <!-- OPTION #6 -->
            <li><input type="checkbox" name="Min10000" /> 
              Plus de 10000
            </li>
          </ul>
          <!-- FIN CATÉGORIE PRIX -->

          <!-- DÉBUT CATÉGORIE RARETÉ -->
          <span class="menu_title">Rareté</span>
          <ul id="Rarete">
            <!-- OPTION #1 -->
            <li><input type="checkbox" name="Commun" /> 
              Commun
            </li>
            <!-- OPTION #2 -->
            <li><input type="checkbox" name="Rare" /> 
              Rare
            </li>
            <!-- OPTION #3 -->
            <li><input type="checkbox" name="Tresrare" /> 
              Très rare
            </li>
            <!-- OPTION #4 -->
            <li><input type="checkbox" name="Unique" /> 
              Unique
            </li>
          </ul>
          <!-- FIN CATÉGORIE RARETÉ -->

        </div>
        <!-- FIN DU MENU POUR TRIER -->

        <div id="middle">
          <div class="contenu_shoponglet" id="contenu_shoponglet_Tout">

            <!-- DÉBUT ITEM -->
          <div class="Arme Max99 rare Fer stygien">
              <div class="item_bloc">
                <img src="https://upload.wikimedia.org/wikipedia/commons/3/38/Crossed_gladii.png" /><br />
                <span class="item_name">Glaive</span><br />
                Type Fer stygien<br />
                Rareté<br />
                Prix : <span class="nbprix">50</span>Drachme or<br /><br />
                <input type="number" value="1" min="1" /><br />
                <button class="ajoutprix" type="button">Acheter</button>
              </div>
          <div class="Arme Max99 Commun Bronze céleste">
              <div class="item_bloc">
                <img src="https://upload.wikimedia.org/wikipedia/commons/3/38/Crossed_gladii.png" /><br />
                <span class="item_name">Glaive</span><br />
                Type Bronze céleste<br />
                rareté<br />
                Prix : <span class="nbprix">20</span>Drachme or<br /><br />
                <input type="number" value="1" min="1" /><br />
                <button class="ajoutprix" type="button">Acheter</button>
              </div>
           <div class="Arme Max99 très rare Hybride">
              <div class="item_bloc">
                <img src="https://upload.wikimedia.org/wikipedia/commons/3/38/Crossed_gladii.png" /><br />
                <span class="item_name">Glaive</span><br />
                Type Hybride<br />
                rareté<br />
                Prix : <span class="nbprix">20+40</span>Drachme or<br /><br />
                <input type="number" value="1" min="1" /><br />
                <button class="ajoutprix" type="button">Acheter</button>
              </div>
            <div class="Arme Max99 rare Fer stygien">
              <div class="item_bloc">
                <img src="http://www.bourges1ere.fr/images/Technique/ArcChasse/Monobloc.gif" /><br />
                <span class="item_name">Arc chasseresse</span><br />
                Type Fer stygien<br />
                Rareté<br />
                Prix : <span class="nbprix">XXX</span>Drachme or<br /><br />
                <input type="number" value="1" min="1" /><br />
                <button class="ajoutprix" type="button">Acheter</button>
              </div>
             <div class="Arme Max99 Commun Bronze céleste">
              <div class="item_bloc">
                <img src="https://www.comptoir-du-chateau.fr/1463-large_default/slavonne.jpg" /><br />
                <span class="item_name">rapière</span><br />
                Type Bronze céleste<br />
                Rareté<br />
                Prix : <span class="nbprix">35</span>Drachme or<br /><br />
                <input type="number" value="1" min="1" /><br />
                <button class="ajoutprix" type="button">Acheter</button>
              </div>
              <div class="Arme Max99 rare Fer stygien">
              <div class="item_bloc">
                <img src="https://www.comptoir-du-chateau.fr/1463-large_default/slavonne.jpg" /><br />
                <span class="item_name">rapière</span><br />
                Type Fer stygien<br />
                Rareté<br />
                Prix : <span class="nbprix">35 + 30</span>Drachme or<br /><br />
                <input type="number" value="1" min="1" /><br />
                <button class="ajoutprix" type="button">Acheter</button>
              </div>
               <div class="Arme Max99 Commun Bronze céleste">
              <div class="item_bloc">
                <img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRJES7Lb9u1v-oW75n7ep_L-tghhFYh5LZCATUtc84PaHxmSNlW" /><br />
                <span class="item_name">Epées jumelles</span><br />
                Type Bronze céleste<br />
                Rareté<br />
                Prix : <span class="nbprix">40</span>Drachme or<br /><br />
                <input type="number" value="1" min="1" /><br />
                <button class="ajoutprix" type="button">Acheter</button>
              </div>
                 <div class="Arme Max99 Commun Bronze céleste">
              <div class="item_bloc">
                <img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQfMSHOw2KvS1kOvZStuewS3cmmCsKrc0LIN8G9xqjryKCKX7tv" /><br />
                <span class="item_name">Bouclier</span><br />
                Type Bronze céleste<br />
                Rareté<br />
                Prix : <span class="nbprix">25</span>Drachme or<br /><br />
                <input type="number" value="1" min="1" /><br />
                <button class="ajoutprix" type="button">Acheter</button>
              </div>
               <div class="Pharmacie Max99 Commun Soin">
              <div class="item_bloc">
                <img src="https://cadoetik.ch/90026-large_default/kit-de-secours-etanche-safe.jpg" /><br />
                <span class="item_name">Kit de survie</span><br />
                Type Pharmacie <br />
                Rareté<br />
                Prix : <span class="nbprix">25</span>Drachme or<br /><br />
                <input type="number" value="1" min="1" /><br />
                <button class="ajoutprix" type="button">Acheter</button>
              </div>
                  <div class="Pharmacie Max99 Commun Nourriture divine">
              <div class="item_bloc">
                <img src="http://dianantes.free.fr/images/vegetal-barre-cereale.gif" /><br />
                <span class="item_name">Boîte d'ambroisie</span><br />
                Type Pharmacie<br />
                Rareté<br />
                Prix : <span class="nbprix">10</span>Drachme or<br /><br />
                <input type="number" value="1" min="1" /><br />
                <button class="ajoutprix" type="button">Acheter</button>
              </div>
            </div>
            <!-- FIN ITEM -->

          </div>
          <div class="contenu_shoponglet" id="contenu_shoponglet_Autre">
          </div>
        </div>
        <div id="bottom">
          <div id="bottom_top">Mon Panier - <span id="total2">0</span>Drachme or</div>
          <div id="vuepanier">Mon panier est vide.</div>
        </div>
        <br />
        <button id="effacerpanier" type="button" onclick="effacer()">Effacer mon panier</button>
        <input type="submit" id="soumettrepanier" value="Soumettre mon panier" name="post" />
        <textarea name="message" id="message" style="display:none"></textarea>
        <input type="hidden" value="reply" name="mode" />
        <input type="hidden" value="42" name="t" />
        <div style="clear: both;"></div>
      </form>
    <script type="text/javascript">
      //<!--
      var totalbase = 0;
      drachme or('#total2').html(totalbase);
      var totaltotal = 0;
      
      /*Quand on ajoute un item au panier*/
      Drachme or('.ajoutprix').click(function() {
        var prix = parseInt(Drachme or(this).parent().find('.nbprix').eq(0).html());
        var qt = parseInt(Drachme or(this).parent().find('input').eq(0).val());
        var qtprixcalculation = qt * prix;
        var nomitem = Drachme or(this).parent().find('.item_name').eq(0).html();
        var phrase = "<span class='item_input'>" + 
          "<button type='button' class='button_delete' onclick='deleteqtitem(this)'>x</button>" + 
          "<button type='button' class='button_moins' onclick='removeqtitem(this)'>-</button>" + 
          "<input type='text' class='input_nb_object' value='"+qt+"' data-prix='"+prix+"' onchange='calcultotal()'></input>" + 
          "<button type='button' class='button_plus' onclick='addqtitem(this)'>+</button>" + 
          "<span class='iteminsidepanier'><span class='thename'>"+nomitem+"</span>" + 
          " à <span class='thepriceinside'>"+prix+"</span>Drachme or pour un total de" + 
          " <span class='thetotalinside'>"+qtprixcalculation+"</span>Drachme or.</span>";
        if (Drachme or('#vuepanier').html() == "Mon panier est vide.") {
          Drachme or('#vuepanier').html(phrase);
        }
        else {
          var ajoutphrase = Drachme or('#vuepanier').html();
          ajoutphrase = ajoutphrase+phrase;
          Drachme or('#vuepanier').html(ajoutphrase);
        }
        calcultotal();
      });
      
      /*Ajouter un item déjà dans le panier*/
      function addqtitem(bihihi) {
        var curritem = parseInt($(bihihi).prev().val());
        var curritemafter = curritem + 1;
        Drachme or(bihihi).prev().val(curritemafter);
        calcultotal();
      }
      
      /*Enlever un item déjà dans le panier*/
      function removeqtitem(bohoho) {
        var curratem = parseInt(Drachme or(bohoho).next().val());
        var curratemafter = curratem - 1;
        Drachme or(bohoho).next().val(curratemafter);
        calcultotal();
      }
      
      /*Supprimer un item déjà dans le panier*/
      function deleteqtitem(bahaha) {
        Drachme or(bahaha).parent().remove();
        calcultotal();
      }
      
      /*Fonction pour calculer*/
      function calcultotal() {
        totaltotal = 0;
        Drachme or('.item_input').each(function(){
          if (parseInt(Drachme or(this).find('.input_nb_object:first').val()) < 1) {
            Drachme or(this).remove();
          }
          var otherprix = parseInt(Drachme or(this).find('.input_nb_object:first').attr('data-prix'));
          var otherquant = parseInt(Drachme or(this).find('.input_nb_object:first').val());
          Drachme or(this).find('.thetotalinside:first').html((otherprix*otherquant));
          totaltotal = totaltotal + (otherprix*otherquant);
        });
        if (Drachme or('#vuepanier').html().length < 1) {
          Drachme or('#vuepanier').html("Mon panier est vide.");
          Drachme or('#total2').html(totalbase);
        }
        else {
          Drachme or('#total2').html(totaltotal);
        }
      }
      
      /*Fonction pour effacer le panier*/
      function effacer() {
        Drachme or('#vuepanier').html("Mon panier est vide.");
        Drachme or('#total2').html(totalbase);
      }
      
      /*Fonction pour poster le message*/
      function CompleteMessage() {
        var thetotalprice = totaltotal;
        var lemessage = "Bonjour,<br /><br />J'aimerais acheter les articles suivants s'il vous plaît :<br />";
        Drachme or('.item_input').each(function(){
          var theprice = parseInt(Drachme or(this).find('.input_nb_object:first').attr('data-prix'));
          var thesupername = Drachme or(this).find('.thename:first').html();
          var thequant = parseInt(Drachme or(this).find('.input_nb_object:first').val());
          var thequantpricetotal = thequant * theprice;
          lemessage = lemessage + "<br /> - "+thequant+" "+thesupername+" à "+theprice+"Drachme or pour un total de "+thequantpricetotal+"Drachme or";
        });
        lemessage = lemessage + "<br /><br />Le coût total de ma commande est de : "+thetotalprice+"$.";
        Drachme or('#message').val(lemessage);
      }
      //-->
    </script>
    <script type="text/javascript">
      //<!--
      function notriage(){
        Drachme or('#menu').find('input:checked').prop( "checked", false );
        Drachme or('#contenu_shoponglet_Tout').css("display", "block");
        Drachme or('#contenu_shoponglet_Autre').html("");
      }
      
      /*Nombre de catégories*/
      var nbtype = Drachme or("#menu").find("ul").length;
      
      /*Fonction triage*/
      function triage() {
      
        /*On trouve le nombre de cases cochées*/
        var totalcheck = Drachme or('#menu').find('input:checked').length;
        /*On se débarasse des items déjà triés*/
        Drachme or('#contenu_shoponglet_Autre').html("");
      
        /*Si aucune case est cochée*/
        if (totalcheck < 1) {
          /*On garde tous les items*/
          Drachme or('#contenu_shoponglet_Tout').css("display", "block");
        }
        /*Sinon*/
        else {
          /*On fait disparaître la liste complète*/
          Drachme or('#contenu_shoponglet_Tout').css("display", "none");
          /*Tableau qui va contenir toutes les catégories qui ont au moins une case cochée*/
          var nomtypech = [];
          /*Pour chaque catégorie on regarde si il y a une case cochée et si oui on met son id dans le tableau nomtypech*/
          for (i = 0; i < nbtype; i++) {
            var nbcatcheckcal = $('#menu').find('ul:eq(' + i + ')').find('input:checked').length;
            if (nbcatcheckcal > 0) {
              var nomtype = Drachme or('#menu').find('ul:eq(' + i + ')').attr('id');
              nomtypech.push(nomtype);
            }
          }
          /*Nombre de catégories qui ont une case cochée*/
          var qunomtypech = nomtypech.length;
          /*Tableau qui contient le nombre de cases cochées par catégories où il y a des cases cochées*/
          var nbnomcatch = [];
          /*Tableau qui contient le name de chaque case cochée*/
          var nomcatch = [];
          for (i = 0; i < qunomtypech; i++) {
            /*On ajoute le nombre de case cochée de chaque catégories où il y en a au moins une dans le tableau nbnomcatch*/
            nbnomcatch[i] = Drachme or('#menu').find('#' + nomtypech[i]).find('input:checked').length;
            for (y = 0; y < nbnomcatch[i]; y++) {
              /*On ajoute le name de chaque case cochée de chaque catégories où il y en a au moins une dans le tableau nomcatch*/
              var truc1 = Drachme or('#menu').find('#' + nomtypech[i]).find('input:checked:eq(' + y + ')').attr('name');
              nomcatch.push(truc1);
            }
          }
          /*Cela va indiquer à case cochée on est rendue. Il commence à 0*/
          var banane = 0;
      
          /*Pour chaque catégorie où il y a une case cochée...*/
          for (i = 0; i < qunomtypech; i++) {
            /*Si on est à la 1ère catégorie*/
            if (i < 1) {
              /*Pour chaque case cochée de la 1ère catégorie...*/
              for (y = 0; y < nbnomcatch[i]; y++) {
                /*Si on est la première case cochée de la 1ère catégorie*/
                if (banane < 1) {
                  /*On regarde le nombre de items qui ont le name de la 1ère case de la 1ère catégorie comme classe*/
                  var machin = Drachme or('#contenu_shoponglet_Tout').find('.' + nomcatch[banane]).length;
                  /*Pour chacun de ses items on le met dans la partie de droite*/
                  for (z = 0; z < machin; z++) {
                    Drachme or('#contenu_shoponglet_Tout').find('.' + nomcatch[banane]).eq(z).clone(true).appendTo('#contenu_shoponglet_Autre');
                  }
                  /*On passe à la case suivante*/
                  banane = banane + 1;
                }
                /*Si on est la xème case cochée de la 1ère catégorie*/
                else {
                  /*On regarde le nombre de items qui ont le name de la xème case cochée comme classe*/
                  var machin = Drachme or('#contenu_shoponglet_Tout').find('.' + nomcatch[banane]).length;
                  /*Pour chacun de ces items...*/
                  for (z = 0; z < machin; z++) {
                    /*Item que on est en train de regarder*/
                    var bamibam = Drachme or('#contenu_shoponglet_Tout').find('.' + nomcatch[banane]).eq(z);
                    /*On créer la variable qui va regarder si le item que on regarde a une classe de un name qui a déjà été vérifié*/
                    var autretruc = 0;
                    /*Pour chaque name qui est avant le name que on regarde présentement...*/
                    for (w = 0; w < banane; w++) {
                      /*Name où on est rendu à vérifier*/
                      var pamplemousse = nomcatch[w];
                      /*Si le item que on regarde a comme classe un name que on a déjà regardé...*/
                      if (bamibam.hasClass(pamplemousse)) {
                        /*on ajoute 1 à la variable autretruc*/
                        autretruc = autretruc + 1;
                      }
                    }
                    /*Si autretruc est inférieur a 0 donc si le item que on regarde a pas un name que on a déjà vérifié...*/
                    if (autretruc < 1) {
                    /*On ajoute le item à la zone de droite*/
                      bamibam.clone(true).appendTo('#contenu_shoponglet_Autre');
                    }
                  }
                  /*On passe à la case suivante*/
                  banane = banane + 1;
                }
              }
            }
            /*Si on est pas la 1ère catégorie qui a une case cochée...*/
            else {
              /*On regarde le nombre de item dans la partie de droite*/
              var chose12 = $('#contenu_shoponglet_Autre').children().length;
              /*on crée un tableau qui va contenir les items à enlever de la liste de droite*/
              var calculenlever = [];
              /*Pour chaque item de la liste de droite on met 0 dans le tableau*/
              for (z = 0; z < chose12; z++) {
                calculenlever[z] = 0;
              }
              /*Pour chaque case cochée de la catégorie où on est rendue...*/
              for (y = 0; y < nbnomcatch[i]; y++) {
                /*Pour chaque item qui est dans la liste de droite...*/
                for (z = 0; z < chose12; z++) {
                  /*On regarde le xème item de droite*/
                  var fraise = $('#contenu_shoponglet_Autre').children().eq(z);
                  /*Name de la case où on est rendu*/
                  var tomate = nomcatch[banane];
                  /*Si le item où on est rendu a cette case on ajoute 1 à sa place dans le tableau calculenlever*/
                  if (fraise.hasClass(tomate)) {
                    calculenlever[z] = calculenlever[z] + 1;
                  }
                }
                /*On passe à la case suivante*/
                banane = banane + 1;
              }
              /*Si les items de droite on aucune classe de aucune des cases de cette catégorie on leur ajoute la classe Detruire*/
              for (y = 0; y < chose12; y++) {
                if (calculenlever[y] < 1) {
                  Drachme or('#contenu_shoponglet_Autre').children().eq(y).addClass('Detruire');
                }
              }
              /*On détruit les items à droite qui ont la classe Detruire*/
              Drachme or('#contenu_shoponglet_Autre').children('.Detruire').remove();
            }
          }
          /*Si il y a 0 item à droite après le tri on dit que il y a 0 résultat*/
          var kiwi = $('#contenu_shoponglet_Autre').children().length;
          if (kiwi < 1) {
            Drachme or('#contenu_shoponglet_Autre').html("Aucun résultat ne correspond à votre recherche.");
          }
        }
      }
      //-->
    </script>
    </body>
    </html>



    voilà pour le code Non c'est vraiment un ajout direct sur l'arme donc si c'est possible de faire cela directement  je veux bien. Toutes les armes peuvent être faite dans n'importe quel métaux. 

    En ce qui concerne les animaux an faites ils va y avoir différents animaux mythologique ou non  pour tenir compagnie au personnages pour ceux qui veulent en avoir un bien sûr.

    Par contre j'avais une petite question est-il possible de rajouter une mini explication sous les items ou pas ? Car si c'était possible ça m'arrangerais bien sinon tant pis je garderais ma fiche d'explicatif que j'ai à côté ce n'est pas un soucis mais si je pouvais tout centraliser ça pourrait être bien.

    Merci d'avance ^^
    Onyx
    Onyx
    FémininAge : 30Messages : 3350

    Sam 1 Juin 2019 - 2:06

    Salut!

    Voilà le résultat, est-ce que c'est à peu près ce que tu voulais?
    http://forum-test-onyx4.forum-canada.com/h7-boutique-percy

    À noter que le mot "Drachmes" prenait trop de place, alors je l'ai remplacé pour "Ð" pour faciliter les choses.



    Illeanëlia
    Illeanëlia
    FémininAge : 37Messages : 404

    Sam 1 Juin 2019 - 9:13

    Ah oui c'est tout à fait ça c'est parfait merci !
    Onyx
    Onyx
    FémininAge : 30Messages : 3350

    Sam 1 Juin 2019 - 18:33

    Salut!

    Alors voilà les codes :
    Code:
    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8" />
      <meta name="author" content="Onyx" />
      <title>Boutique</title>
      <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
      <script type="text/javascript" src="http://tinyurl.com/var-fa"></script>
      <link href='https://fonts.googleapis.com/css?family=Dancing+Script|Libre+Baskerville' rel='stylesheet' type='text/css' />
      <style type="text/css">
        /*Corps*/
        body {
        margin: 0px;
        background: url(https://i.servimg.com/u/f96/20/01/80/55/fond2111.jpg) center;
        background-attachment: fixed;
       
        }
        /*Le bloc entier de la boutique*/
        #boutique {
        position: relative;
        padding-bottom: 10px;
        margin: auto;
        width: 600px;
        font-size: 14px;
        font-family: 'Times New Roman';
        color: #6d80a7;
        text-align: center;
        background: #232937;
        border-left: 5px solid #6d80a7;
        border-right: 5px solid #6d80a7;
        box-shadow: 0 0 10px #000;
        }
        /*Le bloc du titre de la boutique*/
        #boutique_top {
        padding: 10px;
        font-size: 26px;
        font-family: 'Dancing Script', script;
        text-align: center;
        border-bottom: 1px solid #6d80a7;
        margin-bottom: 10px;
        margin-left: 10px;
        margin-right: 10px;
        }
        /*Menu de gauche*/
        #menu {
        float: left;
        text-align: left;
        padding-top: 5px;
        width: 150px;
        height: 430px;
        padding-left: 5px;
        border-right: 1px solid #6d80a7;
        }
        /*Les boutons de tri*/
        #trier, #trier2 {
        display: block;
        background: #6d80a7;
        border: none;
        padding: 5px 10px;
        color: #1a1f2a;
        margin: auto;
        box-shadow: 2px 2px 2px #202020;
        cursor: pointer;
        border-radius: 2px;
        }
        /*Les boutons de tri*/
        #trier:hover, #trier2:hover {
        background: rgba(255,255,255,0.7);
        box-shadow: 4px 4px 4px #202020;
        }
        /*Titres des catégories*/
        .menu_title {
        display: inline-block;
        margin-left: 20px;
        border-bottom: 1px solid #6d80a7;
        font-size: 16px;
        }
        /*Liste des options des catégories*/
        #menu ul {
        margin-top: 5px;
        margin-bottom: 10px;
        list-style-type:none;
        }
        /*Option des catégories*/
        #menu ul li {
        margin-left: -30px;
        }
        /*Partie de droite*/
        #middle {
        overflow: auto;
        height: 435px;
        width: 444px;
        text-align: center;
        }
        /*Les boutons*/
        input[type="checkbox" i], input[type="radio" i] {
        opacity: 0.75;
        }
       
       
        /*Div de un seul item*/
        .contenu_shoponglet > div {
        display: block;
        margin: 0px 10px;
        margin-bottom: 10px;
        text-align: center;
        }
        /*Bloc qui contient l'item*/
        .item_bloc {
        border: 1px solid #000000;
        }
        /*Nom de l'item*/
        .item_name {
        padding: 5px;
        background: rgba(0,0,0,0.2);
        font-size: 18px;
        font-family: 'Cambria';
        text-transform: uppercase;
        color: #6d80a7;
        font-weight: bold;
        }
        /*Intérieur de l'item*/
        .item_in {
        display: flex;
        width: 100%;
        flex-wrap: wrap;
        background: rgba(0,0,0,0.2);
        }
        /*Image de l'item*/
        .item_img {
        width: 60x;
        height: 60px;
        padding: 5px;
        background: rgba(152,169,204,0.3);
        }
        .item_desc {
        background: rgba(152,169,204,0.1);
        padding: 5px;
        box-sizing: border-box;
        flex-grow: 1;
        flex-shrink: 1;
        height: 70px;
        overflow: auto;
        text-align: justify;
        }
        /*Bloc prix nombre et acheter*/
        .item_in > div:nth-child(3) {
        width: 100px;
        display: flex;
        flex-direction: column;
        background: rgba(255,255,255,0.1);
        }
        /*Bloc du prix*/
        .item_in > div:nth-child(3) > div:nth-child(1) {
        background: rgba(215,228,255,0.3);
        flex-grow: 1;
        padding: 5px 1px;
        color: #1a1f2a;
        }
        /*Prix*/
        .nbprix {
        font-weight: bold;
        }
        /*Input du nombre d'item à acheter*/
        .item_in input[type="number"] {
        display: block;
        width: 100px;
        border: none;
        background: rgba(215,228,255,0.5);
        text-align: center;
        box-sizing: border-box;
        color: #1a1f2a;
        padding: 3px;
        }
        /*Bouton acheter*/
        .item_in button {
        display: block;
        border: none;
        color: #1a1f2a;
        background: rgba(215,228,255,0.7);
        text-align: center;
        box-sizing: border-box;
        padding: 3px 5px;
        cursor: pointer;
        }
        /*Bouton survolé*/
        .item_in button:hover {
        background: rgba(215,228,255,0.9);
        }
        .choix {
        background: rgba(152,169,204,0.2);
        padding-bottom: 5px;
        width: 100%;
        text-align: center;
        }
        /*Bloc enchantement et perso*/
        .enchant, .perso {
        display: none;
        text-align: left;
        background: rgba(152,169,204,0.2);
        padding: 5px;
        }
        /*inptu des Bloc enchantement et perso*/
        .enchant input, .perso input {
        width: 70%;
        border: 0px;
        color: #1a1f2a;
        background: rgba(215,228,255,0.7);
        }
       
       
       
        /*Partie du panier*/
        #bottom {
        position: relative;
        display: inline-block;
        margin: 20px auto 0px auto;
        width: 510px;
        background: #343c4c;
        text-align: center;
        overflow: hidden;
        }
        /*Titre du panier*/
        #bottom_top {
        position: relative;
        z-index: 2;
        font-size: 24px;
        font-family: 'Dancing Script', script;
        text-align: center;
        width: 500px;
        padding: 5px;
        background: #1c212c;
        }
        /*Panier visible*/
        #vuepanier {
        position: relative;
        z-index: 1;
        margin: 10px;
        margin-right: 0px;
        margin-left: 0px;
        width: 500px;
        height: 100px;
        padding: 5px;
        padding-top: 0px;
        padding-bottom: 0px;
        text-align: justify;
        overflow: auto;
        }
        /*Bouton effacer et soumettre le panier*/
        #soumettrepanier, #effacerpanier {
        display: inline-block;
        background: #6d80a7;
        border: none;
        padding: 5px 10px;
        color: #1a1f2a;
        box-shadow: 2px 2px 2px #202020;
        cursor: pointer;
        border-radius: 2px;
        margin: auto;
        margin-top: 10px;
        margin-bottom: 5px;
        }
        /*Bouton soumettre le panier*/
        #effacerpanier {
        margin-right: 15px;
        }
        /*Les boutons de tri*/
        #soumettrepanier:hover, #effacerpanier:hover {
        background: rgba(255,255,255,0.7);
        box-shadow: 4px 4px 4px #202020;
        }
        /*Credit*/
        .credits {
        font-size: 12px;
        position: absolute;
        width: 200px;
        bottom: 2px;
        left: 2px;
        text-align: left;
        }
       
        /*Liens*/
        a {
        text-decoration: none;
        color: #6b8ac9;
        }
        a:hover {
        color: #b1c0e0;
        }
       
        /*Bloc objet dans le panier*/
        .item_input {
        display: inline-block;
        margin-bottom: 5px;
        background-color: #1c212c;
        padding: 2px;
        width: 475px;
        text-align: left;
        }
        /*Input du nombre d'item à acheter*/
        #bottom input[type="number"] {
        vertical-align: top;
        display: inline-block;
        background-color: #a6b1c7;
        text-align: center;
        width: 45px;
        padding: 2px;
        margin: 0px 2px 0px 0px;
        border: 1px solid #000000;
        }
        /*Les boutons dans le panier*/
        .item_input button {
        vertical-align: top;
        display: inline-block;
        padding: 2px 6px;
        background-color: #858ea1;
        text-align: center;
        margin: 0px 2px 0px 0px;
        border: 1px solid #000000;
        cursor: pointer;
        }
        /*Les boutons dans le panier*/
        .item_input button:hover {
        background-color: #a4afc6;
        }
        /*Le bouton supprimer de l'objet dans le panier*/
        .button_delete {
        display: inline-block;
        }
        /*Le bloc du nom et prix de l'objet dans le panier*/
        .iteminsidepanier {
        margin-left: 5px;
        display: inline-block;
        text-align: left;
        vertical-align: middle;
        }
      </style>
    </head>
    <body>
      <form enctype="multipart/form-data" name="post" method="post" action="/post" id="boutique" onsubmit="CompleteMessage()" target="_blank">
        <div class="credits">Par Onyx de <a href="http://www.never-utopia.com/forum" target="_blank" >Never-Utopia</a>.</div>
        <div id="boutique_top"><div id="badam"></div>
          La boutique de la Colonie
        </div>

        <!-- DÉBUT DU MENU POUR TRIER -->
        <div id="menu">
          <button id="trier2" type="button" onclick="notriage()">Rénitialiser le Tri</button><br />
          <button id="trier" type="button" onclick="triage()">Trier les Items</button><br />

          <!-- DÉBUT CATÉGORIE TYPE -->
          <span class="menu_title">Catégorie</span>
          <ul id="Type">
            <!-- OPTION #1 -->
            <li><input type="checkbox" name="Arme" />
              Armes
            </li>
            <!-- OPTION #2 -->
            <li><input type="checkbox" name="Armure" />
              Armures
            </li>
            <!-- OPTION #5 -->
            <li><input type="checkbox" name="Pharmacie" />
              Pharmacie
            </li>
            <!-- OPTION #6 -->
            <li><input type="checkbox" name="Animaux" />
              Animaux
            </li>
            <!-- OPTION #7 -->
            <li><input type="checkbox" name="Autres" />
              Autres
            </li>
          </ul>
          <!-- FIN CATÉGORIE TYPE -->

          <!-- DÉBUT CATÉGORIE PRIX -->
          <span class="menu_title">Prix</span>
          <ul id="Prix">
            <!-- OPTION #1 -->
            <li><input type="checkbox" name="Max49" />
              Moins que 50
            </li>
            <!-- OPTION #2 -->
            <li><input type="checkbox" name="50_99" />
              Entre 50 et 99
            </li>
            <!-- OPTION #3 -->
            <li><input type="checkbox" name="100_200" />
              Entre 100 et 200
            </li>
            <!-- OPTION #4 -->
            <li><input type="checkbox" name="Min2001" />
              Plus de 200
            </li>
          </ul>
          <!-- FIN CATÉGORIE PRIX -->

          <!-- DÉBUT CATÉGORIE RARETÉ -->
          <span class="menu_title">Rareté</span>
          <ul id="Rarete">
            <!-- OPTION #1 -->
            <li><input type="checkbox" name="Commun" />
              Commun
            </li>
            <!-- OPTION #2 -->
            <li><input type="checkbox" name="Rare" />
              Rare
            </li>
            <!-- OPTION #3 -->
            <li><input type="checkbox" name="Tresrare" />
              Très rare
            </li>
          </ul>
          <!-- FIN CATÉGORIE RARETÉ -->

        </div>
        <!-- FIN DU MENU POUR TRIER -->

        <div id="middle">
          <div class="contenu_shoponglet" id="contenu_shoponglet_Tout">

            <!-- DÉBUT ITEM -->
            <div class="Arme Max99 rare Fer stygien">
              <div class="item_bloc">
                <div class="item_name">Glaive</div>
                <div class="item_in">
                  <img class="item_img" src="https://upload.wikimedia.org/wikipedia/commons/3/38/Crossed_gladii.png" />
                  <div class="item_desc">Je suis une description quelconque</div>
                  <div>
                    <div>Prix : <span class="nbprix" data-prix="50">50</span> Ð</div>
                    <input type="number" value="1" min="1" />
                    <button class="ajoutprix" type="button">Acheter</button>
                  </div>
                  <div class="choix">
                    <input type="radio" name="arme1" value="Bronze" checked="checked" onchange="Recalculprix(this);" /> <label>Bronze céleste</label> |
                    <input type="radio" name="arme1" value="Fer stygien" onchange="Recalculprix(this);" /> <label>Fer stygien (+30)</label> |
                    <input type="radio" name="arme1" value="Métal Hybride" onchange="Recalculprix(this);" /> <label>Métal Hybride (+40)</label><br />
                    <input type="checkbox" name="enchant" onchange="ChangeEnchant(this);Recalculprix(this);" /> <label>Enchantement (+20)</label> |
                    <input type="checkbox" name="perso" onchange="ChangePerso(this);Recalculprix(this);" /> <label>Personnalisation (+30)</label>
                  </div>
                  <div class="enchant"><label>Enchantement : </label><input type="text" size="50" /></div>
                  <div class="perso"><label>Personnalisation : </label><input type="text" size="50" /></div>
                </div>
              </div>
            </div>
            <!-- FIN ITEM -->
           
            <!-- DÉBUT ITEM -->
            <div class="Arme">
              <div class="item_bloc">
                <div class="item_name">Rapière</div>
                <div class="item_in">
                  <img class="item_img" src="https://www.comptoir-du-chateau.fr/1463-large_default/slavonne.jpg" />
                  <div class="item_desc">Je suis une description quelconque</div>
                  <div>
                    <div>Prix : <span class="nbprix" data-prix="50">50</span> Ð</div>
                    <input type="number" value="1" min="1" />
                    <button class="ajoutprix" type="button">Acheter</button>
                  </div>
                  <div class="choix">
                    <input type="radio" name="arme2" value="Bronze" checked="checked" onchange="Recalculprix(this);" /> <label>Bronze céleste</label> |
                    <input type="radio" name="arme2" value="Fer stygien" onchange="Recalculprix(this);" /> <label>Fer stygien (+30)</label> |
                    <input type="radio" name="arme2" value="Métal Hybride" onchange="Recalculprix(this);" /> <label>Métal Hybride (+40)</label><br />
                    <input type="checkbox" name="enchant" onchange="ChangeEnchant(this);Recalculprix(this);" /> <label>Enchantement (+20)</label> |
                    <input type="checkbox" name="perso" onchange="ChangePerso(this);Recalculprix(this);" /> <label>Personnalisation (+30)</label>
                  </div>
                  <div class="enchant"><label>Enchantement : </label><input type="text" size="50" /></div>
                  <div class="perso"><label>Personnalisation : </label><input type="text" size="50" /></div>
                </div>
              </div>
            </div>
            <!-- FIN ITEM -->
           
            <!-- DÉBUT ITEM -->
            <div class="Arme">
              <div class="item_bloc">
                <div class="item_name">Arc Chasseresse</div>
                <div class="item_in">
                  <img class="item_img" src="http://www.bourges1ere.fr/images/Technique/ArcChasse/Monobloc.gif" />
                  <div class="item_desc">Je suis une description quelconque</div>
                  <div>
                    <div>Prix : <span class="nbprix" data-prix="50">50</span> Ð</div>
                    <input type="number" value="1" min="1" />
                    <button class="ajoutprix" type="button">Acheter</button>
                  </div>
                  <div class="choix">
                    <input type="radio" name="arme3" value="Bronze" checked="checked" onchange="Recalculprix(this);" /> <label>Bronze céleste</label> |
                    <input type="radio" name="arme3" value="Fer stygien" onchange="Recalculprix(this);" /> <label>Fer stygien (+30)</label> |
                    <input type="radio" name="arme3" value="Métal Hybride" onchange="Recalculprix(this);" /> <label>Métal Hybride (+40)</label><br />
                    <input type="checkbox" name="enchant" onchange="ChangeEnchant(this);Recalculprix(this);" /> <label>Enchantement (+20)</label> |
                    <input type="checkbox" name="perso" onchange="ChangePerso(this);Recalculprix(this);" /> <label>Personnalisation (+30)</label>
                  </div>
                  <div class="enchant"><label>Enchantement : </label><input type="text" size="50" /></div>
                  <div class="perso"><label>Personnalisation : </label><input type="text" size="50" /></div>
                </div>
              </div>
            </div>
            <!-- FIN ITEM -->
           
            <!-- DÉBUT ITEM -->
            <div class="Autres">
              <div class="item_bloc">
                <div class="item_name">Autre machin</div>
                <div class="item_in">
                  <img class="item_img" src="https://2img.net/u/3814/45/31/77/avatars/1-87.jpg" />
                  <div class="item_desc">Je suis une description quelconque</div>
                  <div>
                    <div>Prix : <span class="nbprix">10</span> Ð</div>
                    <input type="number" value="1" min="1" />
                    <button class="ajoutprix" type="button">Acheter</button>
                  </div>
                </div>
              </div>
            </div>
            <!-- FIN ITEM -->

          </div>
          <div class="contenu_shoponglet" id="contenu_shoponglet_Autre">
          </div>
        </div>
        <div id="bottom">
          <div id="bottom_top">Mon Panier - <span id="total2">0</span>Ð</div>
          <div id="vuepanier">Mon panier est vide.</div>
        </div>
        <br />
        <button id="effacerpanier" type="button" onclick="effacer()">Effacer mon panier</button>
        <input type="submit" id="soumettrepanier" value="Soumettre mon panier" name="post" />
        <textarea name="message" id="message" style="display:none"></textarea>
        <input type="hidden" value="reply" name="mode" />
        <input type="hidden" value="3" name="t" />
        <div style="clear: both;"></div>
      </form>
    <script type="text/javascript">
      //<!--
      var totalbase = 0;
      $('#total2').html(totalbase);
      var totaltotal = 0;
     
      /*Faire apparaître l'enchantement*/
      function ChangeEnchant(lacase) {
        if ($(lacase).is(':checked')) {
          $(lacase).closest('.item_bloc').find('.enchant:first').css('display', 'block');
        }
        else {
          $(lacase).closest('.item_bloc').find('.enchant:first').css('display', 'none');
        }
      }
     
      /*Faire apparaître la personnalisation*/
      function ChangePerso(lacase) {
        if ($(lacase).is(':checked')) {
          $(lacase).closest('.item_bloc').find('.perso:first').css('display', 'block');
        }
        else {
          $(lacase).closest('.item_bloc').find('.perso:first').css('display', 'none');
        }
      }
     
      /*Recalcul du prix selon les ajouts*/
      function Recalculprix(th) {
        var prixitemcase = parseInt($(th).closest('.item_bloc').find('.nbprix:first').data('prix'));
        if ($(th).closest('.item_bloc').find('input[type="radio"]').eq(1).is(':checked')) {
          prixitemcase = prixitemcase + 30;
        }
        else if ($(th).closest('.item_bloc').find('input[type="radio"]').eq(2).is(':checked')) {
          prixitemcase = prixitemcase + 40;
        }
        if ($(th).closest('.item_bloc').find('input[name="enchant"]:first').is(':checked')) {
          prixitemcase = prixitemcase + 20;
          $(th).closest('.item_bloc').find('.enchant:first').css('display', 'block');
        }
        else {
          $(th).closest('.item_bloc').find('.enchant:first').css('display', 'none');
        }
        if ($(th).closest('.item_bloc').find('input[name="perso"]:first').is(':checked')) {
          prixitemcase = prixitemcase + 30;
          $(th).closest('.item_bloc').find('.perso:first').css('display', 'block');
        }
        else {
          $(th).closest('.item_bloc').find('.perso:first').css('display', 'none');
        }
        $(th).closest('.item_bloc').find('.nbprix:first').html(prixitemcase);
      }
     
      /*Quand on ajoute un item au panier*/
      $('.ajoutprix').click(function() {
        var prix = parseInt($(this).closest('.item_bloc').find('.nbprix').eq(0).html());
        var qt = parseInt($(this).closest('.item_bloc').find('input[type="number"]').eq(0).val());
        var qtprixcalculation = qt * prix;
        var nomitem = $(this).closest('.item_bloc').find('.item_name').eq(0).html();
        var metalitem = $(this).closest('.item_bloc').find('input[type="radio"]:checked');
        var enchantitem = $(this).closest('.item_bloc').find('input[name="enchant"]:checked');
        var persoitem = $(this).closest('.item_bloc').find('input[name="perso"]:checked');
        var phrase = "<span class='item_input'>" +
          "<button type='button' class='button_delete' onclick='deleteqtitem(this)'>x</button>" +
          "<button type='button' class='button_moins' onclick='removeqtitem(this)'>-</button>" +
          "<input type='number' class='input_nb_object' value='"+qt+"' data-prix='"+prix+"' onchange='calcultotal()'></input>" +
          "<button type='button' class='button_plus' onclick='addqtitem(this)'>+</button>" +
          "<span class='iteminsidepanier'><span class='thename'>"+nomitem+"</span>";
        if (metalitem.length > 0) {
          phrase = phrase + " en " + metalitem.val();
          var metaloui = true;
        }
        phrase = phrase + " à <span class='thepriceinside'>"+prix+"</span>Ð pour un total de" +
        " <span class='thetotalinside'>"+qtprixcalculation+"</span>Ð.";
        if (enchantitem.length > 0) {
          phrase = phrase + "<br />Enchantement : " + $(this).closest('.item_bloc').find('.enchant > input:first').val();
          var enchantoui = true;
        }
        if (persoitem.length > 0) {
          phrase = phrase + "<br />Personnalisation : " + $(this).closest('.item_bloc').find('.perso > input:first').val();
          var persooui = true;
        }
        phrase = phrase + "</span>";
     
        if ($('#vuepanier').html() == "Mon panier est vide.") {
          $('#vuepanier').html(phrase);
        }
        else {
          var ajoutphrase = $('#vuepanier').html();
          ajoutphrase = ajoutphrase+phrase;
          $('#vuepanier').html(ajoutphrase);
        }
        if (metaloui == true) {
          $('#vuepanier').find('.item_input').last().attr('data-metal', metalitem.val());
        }
        if (enchantoui == true) {
          $('#vuepanier').find('.item_input').last().attr('data-enchant', $(this).closest('.item_bloc').find('.enchant > input:first').val());
        }
        if (persooui == true) {
          $('#vuepanier').find('.item_input').last().attr('data-perso', $(this).closest('.item_bloc').find('.perso > input:first').val());
        }
        calcultotal();
      });
     
      /*Ajouter un item déjà dans le panier*/
      function addqtitem(itemchoisi) {
        var currentitem = parseInt($(itemchoisi).prev().val());
        var currentitemafter = currentitem + 1;
        $(itemchoisi).prev().val(currentitemafter);
        calcultotal();
      }
     
      /*Enlever un item déjà dans le panier*/
      function removeqtitem(itemchoisi) {
        var currentitem = parseInt($(itemchoisi).next().val());
        var currentitemafter = currentitem - 1;
        $(itemchoisi).next().val(currentitemafter);
        calcultotal();
      }
     
      /*Supprimer un item déjà dans le panier*/
      function deleteqtitem(itemchoisi) {
        $(itemchoisi).parent().remove();
        calcultotal();
      }
     
      /*Fonction pour calculer*/
      function calcultotal() {
        totaltotal = 0;
        $('.item_input').each(function(){
          if (parseInt($(this).find('.input_nb_object:first').val()) < 1) {
            $(this).remove();
          }
          var otherprix = parseInt($(this).find('.input_nb_object:first').attr('data-prix'));
          var otherquant = parseInt($(this).find('.input_nb_object:first').val());
          $(this).find('.thetotalinside:first').html((otherprix*otherquant));
          totaltotal = totaltotal + (otherprix*otherquant);
        });
        if ($('#vuepanier').html().length < 1) {
          $('#vuepanier').html("Mon panier est vide.");
          $('#total2').html(totalbase);
        }
        else {
          $('#total2').html(totaltotal);
        }
      }
     
      /*Fonction pour effacer le panier*/
      function effacer() {
        $('#vuepanier').html("Mon panier est vide.");
        $('#total2').html(totalbase);
      }
     
      /*Fonction pour poster le message*/
      function CompleteMessage() {
        var thetotalprice = totaltotal;
        var lemessage = "Bonjour,<br /><br />J'aimerais acheter les articles suivants s'il vous plaît :<br /><ul>";
        $('.item_input').each(function(){
          var theprice = parseInt($(this).find('.input_nb_object:first').attr('data-prix'));
          var thesupername = $(this).find('.thename:first').html();
          var thequant = parseInt($(this).find('.input_nb_object:first').val());
          var thequantpricetotal = thequant * theprice;
          var postmetal = "";
          var checkmetal = $(this).data('metal');
          var checkenchant = $(this).data('enchant');
          var checkperso = $(this).data('perso');
          if (checkmetal) {
            postmetal = " en " + checkmetal;
          }
          var postenchant = "";
          if (checkenchant) {
            postenchant = "<br />- Enchantement : " + checkenchant + ".";
          }
          var postperso = "";
          if (checkperso) {
            postperso = "<br />- Personnalisation : " + checkperso + ".";
          }
          lemessage =
            lemessage + "<li>" + thequant + " " + thesupername + postmetal +
            " à " + theprice + " Drachmes pour un total de " + thequantpricetotal + " Drachmes." +
            postenchant + postperso + "</li>";
        });
        lemessage = lemessage + "</ul>Le coût total de ma commande est de : "+thetotalprice+" Drachmes.";
        $('#message').val(lemessage);
      }
      //-->
    </script>
    <script type="text/javascript">
      //<!--
      function notriage(){
        $('#menu').find('input:checked').prop('checked', false);
        $('#contenu_shoponglet_Tout').css("display", "block");
        $('#contenu_shoponglet_Autre').html("");
      }
     
      /*Nombre de catégories*/
      var nbtype = $("#menu").find("ul").length;
     
      /*Fonction triage*/
      function triage() {
     
        /*On trouve le nombre de cases cochées*/
        var totalcheck = $('#menu').find('input:checked').length;
        /*On se débarasse des items déjà triés*/
        $('#contenu_shoponglet_Autre').html("");
     
        /*Si aucune case est cochée*/
        if (totalcheck < 1) {
          /*On garde tous les items*/
          $('#contenu_shoponglet_Tout').css("display", "block");
        }
        /*Sinon*/
        else {
          /*On fait disparaître la liste complète*/
          $('#contenu_shoponglet_Tout').css("display", "none");
          /*Tableau qui va contenir toutes les catégories qui ont au moins une case cochée*/
          var nomtypech = [];
          /*Pour chaque catégorie on regarde si il y a une case cochée et si oui on met son id dans le tableau nomtypech*/
          for (i = 0; i < nbtype; i++) {
            var nbcatcheckcal = $('#menu').find('ul:eq(' + i + ')').find('input:checked').length;
            if (nbcatcheckcal > 0) {
              var nomtype = $('#menu').find('ul:eq(' + i + ')').attr('id');
              nomtypech.push(nomtype);
            }
          }
          /*Nombre de catégories qui ont une case cochée*/
          var qunomtypech = nomtypech.length;
          /*Tableau qui contient le nombre de cases cochées par catégories où il y a des cases cochées*/
          var nbnomcatch = [];
          /*Tableau qui contient le name de chaque case cochée*/
          var nomcatch = [];
          for (i = 0; i < qunomtypech; i++) {
            /*On ajoute le nombre de case cochée de chaque catégories où il y en a au moins une dans le tableau nbnomcatch*/
            nbnomcatch[i] = $('#menu').find('#' + nomtypech[i]).find('input:checked').length;
            for (y = 0; y < nbnomcatch[i]; y++) {
              /*On ajoute le name de chaque case cochée de chaque catégories où il y en a au moins une dans le tableau nomcatch*/
              var truc1 = $('#menu').find('#' + nomtypech[i]).find('input:checked:eq(' + y + ')').attr('name');
              nomcatch.push(truc1);
            }
          }
          /*Cela va indiquer à case cochée on est rendue. Il commence à 0*/
          var banane = 0;
     
          /*Pour chaque catégorie où il y a une case cochée...*/
          for (i = 0; i < qunomtypech; i++) {
            /*Si on est à la 1ère catégorie*/
            if (i < 1) {
              /*Pour chaque case cochée de la 1ère catégorie...*/
              for (y = 0; y < nbnomcatch[i]; y++) {
                /*Si on est la première case cochée de la 1ère catégorie*/
                if (banane < 1) {
                  /*On regarde le nombre de items qui ont le name de la 1ère case de la 1ère catégorie comme classe*/
                  var machin = $('#contenu_shoponglet_Tout').find('.' + nomcatch[banane]).length;
                  /*Pour chacun de ses items on le met dans la partie de droite*/
                  for (z = 0; z < machin; z++) {
                    $('#contenu_shoponglet_Tout').find('.' + nomcatch[banane]).eq(z).clone(true).appendTo('#contenu_shoponglet_Autre');
                  }
                  /*On passe à la case suivante*/
                  banane = banane + 1;
                }
                /*Si on est la xème case cochée de la 1ère catégorie*/
                else {
                  /*On regarde le nombre de items qui ont le name de la xème case cochée comme classe*/
                  var machin = $('#contenu_shoponglet_Tout').find('.' + nomcatch[banane]).length;
                  /*Pour chacun de ces items...*/
                  for (z = 0; z < machin; z++) {
                    /*Item que on est en train de regarder*/
                    var bamibam = $('#contenu_shoponglet_Tout').find('.' + nomcatch[banane]).eq(z);
                    /*On créer la variable qui va regarder si le item que on regarde a une classe de un name qui a déjà été vérifié*/
                    var autretruc = 0;
                    /*Pour chaque name qui est avant le name que on regarde présentement...*/
                    for (w = 0; w < banane; w++) {
                      /*Name où on est rendu à vérifier*/
                      var pamplemousse = nomcatch[w];
                      /*Si le item que on regarde a comme classe un name que on a déjà regardé...*/
                      if (bamibam.hasClass(pamplemousse)) {
                        /*on ajoute 1 à la variable autretruc*/
                        autretruc = autretruc + 1;
                      }
                    }
                    /*Si autretruc est inférieur a 0 donc si le item que on regarde a pas un name que on a déjà vérifié...*/
                    if (autretruc < 1) {
                    /*On ajoute le item à la zone de droite*/
                      bamibam.clone(true).appendTo('#contenu_shoponglet_Autre');
                    }
                  }
                  /*On passe à la case suivante*/
                  banane = banane + 1;
                }
              }
            }
            /*Si on est pas la 1ère catégorie qui a une case cochée...*/
            else {
              /*On regarde le nombre de item dans la partie de droite*/
              var chose12 = $('#contenu_shoponglet_Autre').children().length;
              /*on crée un tableau qui va contenir les items à enlever de la liste de droite*/
              var calculenlever = [];
              /*Pour chaque item de la liste de droite on met 0 dans le tableau*/
              for (z = 0; z < chose12; z++) {
                calculenlever[z] = 0;
              }
              /*Pour chaque case cochée de la catégorie où on est rendue...*/
              for (y = 0; y < nbnomcatch[i]; y++) {
                /*Pour chaque item qui est dans la liste de droite...*/
                for (z = 0; z < chose12; z++) {
                  /*On regarde le xème item de droite*/
                  var fraise = $('#contenu_shoponglet_Autre').children().eq(z);
                  /*Name de la case où on est rendu*/
                  var tomate = nomcatch[banane];
                  /*Si le item où on est rendu a cette case on ajoute 1 à sa place dans le tableau calculenlever*/
                  if (fraise.hasClass(tomate)) {
                    calculenlever[z] = calculenlever[z] + 1;
                  }
                }
                /*On passe à la case suivante*/
                banane = banane + 1;
              }
              /*Si les items de droite on aucune classe de aucune des cases de cette catégorie on leur ajoute la classe Detruire*/
              for (y = 0; y < chose12; y++) {
                if (calculenlever[y] < 1) {
                  $('#contenu_shoponglet_Autre').children().eq(y).addClass('Detruire');
                }
              }
              /*On détruit les items à droite qui ont la classe Detruire*/
              $('#contenu_shoponglet_Autre').children('.Detruire').remove();
            }
          }
          /*Si il y a 0 item à droite après le tri on dit que il y a 0 résultat*/
          var kiwi = $('#contenu_shoponglet_Autre').children().length;
          if (kiwi < 1) {
            $('#contenu_shoponglet_Autre').html("Aucun résultat ne correspond à votre recherche.");
          }
        }
      }
      //-->
    </script>
    </body>
    </html>


    Pour les objets simples sans enchantement, personnalisation ou métaux, c'est simplement ce bout de code :
    Code:
            <!-- DÉBUT ITEM -->
            <div class="Autres">
              <div class="item_bloc">
                <div class="item_name">Autre machin</div>
                <div class="item_in">
                  <img class="item_img" src="https://2img.net/u/3814/45/31/77/avatars/1-87.jpg" />
                  <div class="item_desc">Je suis une description quelconque</div>
                  <div>
                    <div>Prix : <span class="nbprix">10</span> Ð</div>
                    <input type="number" value="1" min="1" />
                    <button class="ajoutprix" type="button">Acheter</button>
                  </div>
                </div>
              </div>
            </div>
            <!-- FIN ITEM -->


    Une arme avec différents métaux et la possibilité d'enchantement/personnalisation ressemble à ceci :
    Code:
            <!-- DÉBUT ITEM -->
            <div class="Arme Max99 rare Fer stygien">
              <div class="item_bloc">
                <div class="item_name">Glaive</div>
                <div class="item_in">
                  <img class="item_img" src="https://upload.wikimedia.org/wikipedia/commons/3/38/Crossed_gladii.png" />
                  <div class="item_desc">Je suis une description quelconque</div>
                  <div>
                    <div>Prix : <span class="nbprix" data-prix="50">50</span> Ð</div>
                    <input type="number" value="1" min="1" />
                    <button class="ajoutprix" type="button">Acheter</button>
                  </div>
                  <div class="choix">
                    <input type="radio" name="arme1" value="Bronze" checked="checked" onchange="Recalculprix(this);" /> <label>Bronze céleste</label> |
                    <input type="radio" name="arme1" value="Fer stygien" onchange="Recalculprix(this);" /> <label>Fer stygien (+30)</label> |
                    <input type="radio" name="arme1" value="Métal Hybride" onchange="Recalculprix(this);" /> <label>Métal Hybride (+40)</label><br />
                    <input type="checkbox" name="enchant" onchange="ChangeEnchant(this);Recalculprix(this);" /> <label>Enchantement (+20)</label> |
                    <input type="checkbox" name="perso" onchange="ChangePerso(this);Recalculprix(this);" /> <label>Personnalisation (+30)</label>
                  </div>
                  <div class="enchant"><label>Enchantement : </label><input type="text" size="50" /></div>
                  <div class="perso"><label>Personnalisation : </label><input type="text" size="50" /></div>
                </div>
              </div>
            </div>
            <!-- FIN ITEM -->


    Il y a 2 particularités importantes.

    1. Tu dois mettre le prix 2 fois, soit dans le data-prix et aussi dans le span (prix de base d'une arme de bronze sans rien de plus) :
    Code:
                    <div>Prix : <span class="nbprix" data-prix="50">50</span> Ð</div>


    2. Les champs à choix de réponses doivent avoir un "name" différent pour chaque objet. Je parle de cette partie :
    Code:
                    <input type="radio" name="arme1" value="Bronze" checked="checked" onchange="Recalculprix(this);" /> <label>Bronze céleste</label> |
                    <input type="radio" name="arme1" value="Fer stygien" onchange="Recalculprix(this);" /> <label>Fer stygien (+30)</label> |
                    <input type="radio" name="arme1" value="Métal Hybride" onchange="Recalculprix(this);" /> <label>Métal Hybride (+40)</label><br />
    Tu remarqueras qu'il y a "arme1" dans le "name" de ces 3 inputs. Pour ta 2e arme (l'arc), c'est "arme2", pour la 3e, "arme3". Alors lorsque tu fais un copié/collé, fais attention à changer le chiffre pour que les 3 inputs aient le même nom et pour que ce nom soit différent des autres armes.

    Voilà !



    Illeanëlia
    Illeanëlia
    FémininAge : 37Messages : 404

    Sam 1 Juin 2019 - 18:45

    Merci c'est parfait je vais pouvoir tout bien installer comme ça 

    Un grand merci à toi Very Happy
    Contenu sponsorisé


      La date/heure actuelle est Ven 19 Avr 2024 - 12:58