Skygraphism Posted February 13, 2015 Share Posted February 13, 2015 (edited) Bonjour la communauté! Bon voilà je reviens vers où pour une question technique! Je suis en train de créer une boutique de vente de véhicules où la plupart des produits ont 2 types de déclinaisons : couleur et montage (avec Oui ou Non pour cette dernière).Ma question serait de savoir comment rendre obligatoire la sélection des deux déclinaisons. J'ai cherché mais n'ai rien trouvé de bien utile ou adaptable à la version 1.6.0.11 Je voudrais savoir donc si quelqu'un c'était déjà essayé à faire ça ? ou sinon si quelqu'un saurait comment récupérer l'état (sélectionné ou pas ) d'une déclinaison ? Merci d'avance pour votre intérêt vos réponses! Edited February 17, 2015 by Skygraphism (see edit history) Link to comment Share on other sites More sharing options...
P i l o u Posted February 13, 2015 Share Posted February 13, 2015 Bonjour, Il y a normalement la déclinaison par défaut donc, au moins un choix sélectionné pour chaque option, non ? Link to comment Share on other sites More sharing options...
Skygraphism Posted February 13, 2015 Author Share Posted February 13, 2015 Merci pour votre réponse. Alors oui il y a bien une déclinaison par défaut mais il faut impérativement que la personne choisisse une couleur et si elle veut le véhicule avec ou sans montage. Link to comment Share on other sites More sharing options...
P i l o u Posted February 13, 2015 Share Posted February 13, 2015 Un p'tit lien pour voir ? Link to comment Share on other sites More sharing options...
YopixelAE Posted February 13, 2015 Share Posted February 13, 2015 Bonjour, Alors oui il y a bien une déclinaison par défaut mais il faut impérativement que la personne choisisse une couleur Coté back-office mettez un attribut couleur par défaut dans la déclinaison par défaut. Autrement il vous faudra intervenir sur le fichier ajax-cart.js du thème. Link to comment Share on other sites More sharing options...
doekia Posted February 13, 2015 Share Posted February 13, 2015 J'ai pas compris la question. Le réglage "Afficher le bouton "ajouter au panier" lorsque le produit a des attributs " OUI/NON dans Préferences > Produits c'est pas ça la réponse? Link to comment Share on other sites More sharing options...
Skygraphism Posted February 13, 2015 Author Share Posted February 13, 2015 (edited) @Pilou.biz : Pour le lien je travaille en local donc je peux en donner pour le moment. @doekia : ce que vous me dites là correspond au fait d'enlever l'ajout panier quand un produit a plusieurs déclinaisons quand on affiche les produits dans les catégories, moi je suis dans le cas où on est dans la fiche produit. @Yopixel : en fait je voudrais éviter que des clients ajoutent directement le produit au panier sans sélectionner la couleur ET s'ils veulent le montage ou pas . En fait idéalement il me faudrait avec 2 déclinaisons par défauts, j'ai déjà pensé à utiliser le générateur pour cela mais je me retrouve avec des soucis de stock (car le montage est une déclinaison qui n'a pas de stock). Je suis en train de voir pour essayer de mettre une condition dans l'affichage de l'ajout panier grâce à : $product->getAttributeCombinationsById($id_attribute, $this->context->language->id); si j'ai bien compris ça renvoi un tableau avec la valeur des attributs en fonction de id_product_attribute, mais j'ai un peu de mal à exploiter le résultat en fait.... L'idée serait que si mon tableau est null (ou du moins que la valeur de l'attribut pour l'id couleur ou montage est null) alors on cache le panier, j'ajouterais cette condition dans le fichier product.tpl ici (pour moi c'est ligne 386) : <div{if (!$allow_oosp && $product->quantity <= 0) || !$product->available_for_order || (isset($restricted_country_mode) && $restricted_country_mode) || $PS_CATALOG_MODE || ma_condition } class="unvisible"{/if}> qu'est-ce que vous en pensez? quelqu'un a déjà utilisé getAttributeCombinationsById ? Edited February 13, 2015 by Skygraphism (see edit history) Link to comment Share on other sites More sharing options...
doekia Posted February 13, 2015 Share Posted February 13, 2015 Heu 2 déclinaisons par défaut? C'est la couleur blouge ça! Désactive le bouton d'ajout au panier sur la fiche produit à l'affichage de cette dernière. Dès que l'internaute aura sélectionné une déclinaison le bouton s'active de manière "magique" Franchement que signifie "par défaut" ? Si rien n'a été précisé ! 1 Link to comment Share on other sites More sharing options...
Skygraphism Posted February 13, 2015 Author Share Posted February 13, 2015 Quand je parle de 2 déclinaisons par défauts je veux parler par exemple d'une couleur et du montage....pas de 2 couleurs ensemble... Ta solution pourrait être bien mais rien ne me dit que le client va pas cliquer sur une des deux déclinaisons déjà sélectionnées (apparemment il y a toujours une déclinaison par défaut définie par prestashop de ce que j'ai vu). Moi je cherche à vérifier que les clients ont bien sélectionné une valeur pour chacune des déclinaisons afin qu'ils puissent ajouter dans le panier.C'est pour ça que j'ai la valeur d'une des déclinaisons par défaut de sélectionnée et que je voudrais vérifier que l'autre a bien été sélectionner par la suite. Link to comment Share on other sites More sharing options...
doekia Posted February 13, 2015 Share Posted February 13, 2015 Et pourquoi tu ne fais pas 4 déclinaisons ? blanc avec montage, blanc sans montage, rouge avec, rouge sans. Désactive bouton où même le selected dans le js et le bouton d'ajout n'est plus là et voila Link to comment Share on other sites More sharing options...
Skygraphism Posted February 13, 2015 Author Share Posted February 13, 2015 Comme je l'ai déjà expliqué je ne peux pas faire ça, c'est pas faute d'y avoir pensé (et de ce fait la question ne se poserait même plus) . J'utilise la gestion des stocks avancée et comme expliqué dans un message précédent la déclinaison qui correspond au Montage n'a pas de stock (il y a pas de quantité limite de montage ou pas), donc je vais vite avoir des soucis dans ma gestion des stocks si j'utilise cette solution. Link to comment Share on other sites More sharing options...
doekia Posted February 13, 2015 Share Posted February 13, 2015 Alors tu fait un champ de customisation montage: oui/non obligatoire Avec un bon formatage template il ressemblera à une option Et tant qu'il n'est pas rempli, étant obligatoire l'ajout au panier n'est pas possible. Je te dis ça parce que ce que je vois que tu t'apprète à écrire me semble: 1/ pas pérenne du tout 2/ un remède où il n'y a pas de problème Link to comment Share on other sites More sharing options...
Skygraphism Posted February 13, 2015 Author Share Posted February 13, 2015 L'idée est pas mal ! Je vais voir pour faire ça alors ! Je tiens au courant du résultat! Merci en tout cas . Link to comment Share on other sites More sharing options...
Eolia Posted February 13, 2015 Share Posted February 13, 2015 Le plus simple est encore de supprimer les 3 lignes conditionnelles dans le tpl en référence au default_selected. Du coup les attributs sont visibles mais non sélectionnés et l'ajout au panier est impossible car le bouton est caché^^ Link to comment Share on other sites More sharing options...
Skygraphism Posted February 13, 2015 Author Share Posted February 13, 2015 Merci pour ta réponse Eolia, par contre pourrais-tu préciser de quelles lignes conditionnelles tu parles car je viens d'essayer de supprimer les lignes conditionnelles où il y avait la mention selected et le group.default mais rien n'y fait... Link to comment Share on other sites More sharing options...
Eolia Posted February 13, 2015 Share Posted February 13, 2015 Peux-tu copier ici la partie concernée du product.tpl de ton thème stp ? Link to comment Share on other sites More sharing options...
Skygraphism Posted February 14, 2015 Author Share Posted February 14, 2015 (edited) Désolé pour le temps de réponse , voilà la partie concernant les déclinaisons dans mon product.tpl (rien de modifié encore) {if isset($groups)}<!-- attributes --> <div id="attributes"> <div class="clearfix"></div> {foreach from=$groups key=id_attribute_group item=group} {if $group.attributes|@count} <fieldset class="attribute_fieldset"> <label class="attribute_label" {if $group.group_type != 'color' && $group.group_type != 'radio'}for="group_{$id_attribute_group|intval}"{/if}>{$group.name|escape:'html':'UTF-8'} </label> {assign var="groupName" value="group_$id_attribute_group"} <div class="attribute_list"> {if ($group.group_type == 'select')} <select name="{$groupName}" id="group_{$id_attribute_group|intval}" class="form-control attribute_select no-print"> {foreach from=$group.attributes key=id_attribute item=group_attribute} <option value="{$id_attribute|intval}"{if (isset($smarty.get.$groupName) && $smarty.get.$groupName|intval == $id_attribute) || $group.default == $id_attribute} selected="selected"{/if} title="{$group_attribute|escape:'html':'UTF-8'}">{$group_attribute|escape:'html':'UTF-8'}</option> {/foreach} </select> {elseif ($group.group_type == 'color')} <ul id="color_to_pick_list" class="clearfix"> {assign var="default_colorpicker" value=""} {foreach from=$group.attributes key=id_attribute item=group_attribute} {assign var='img_color_exists' value=file_exists($col_img_dir|cat:$id_attribute|cat:'.jpg')} <li{if $group.default == $id_attribute} class="selected"{/if}> <a href="{$link->getProductLink($product)|escape:'html':'UTF-8'}" id="color_{$id_attribute|intval}" name="{$colors.$id_attribute.name|escape:'html':'UTF-8'}" class="color_pick{if ($group.default == $id_attribute)} selected{/if}"{if !$img_color_exists && isset($colors.$id_attribute.value) && $colors.$id_attribute.value} style="background:{$colors.$id_attribute.value|escape:'html':'UTF-8'};"{/if} title="{$colors.$id_attribute.name|escape:'html':'UTF-8'}"> {if $img_color_exists} <img src="{$img_col_dir}{$id_attribute|intval}.jpg" alt="{$colors.$id_attribute.name|escape:'html':'UTF-8'}" title="{$colors.$id_attribute.name|escape:'html':'UTF-8'}" width="20" height="20" /> {/if} </a> </li> {if ($group.default == $id_attribute)} {$default_colorpicker = $id_attribute} {/if} {/foreach} </ul> <input type="hidden" class="color_pick_hidden" name="{$groupName|escape:'html':'UTF-8'}" value="{$default_colorpicker|intval}" /> {elseif ($group.group_type == 'radio')} <ul> {foreach from=$group.attributes key=id_attribute item=group_attribute} <li> <input type="radio" class="attribute_radio" name="{$groupName|escape:'html':'UTF-8'}" value="{$id_attribute}" {if ($group.default == $id_attribute)} checked="checked"{/if} /> <span>{$group_attribute|escape:'html':'UTF-8'}</span> </li> {/foreach} </ul> {/if} </div> <!-- end attribute_list --> </fieldset> {/if} {/foreach} </div> <!-- end attributes --> Edited February 14, 2015 by Skygraphism (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted February 14, 2015 Share Posted February 14, 2015 Donc, à supprimer: {if (isset($smarty.get.$groupName) && $smarty.get.$groupName|intval == $id_attribute) || $group.default == $id_attribute} selected="selected"{/if} {if $group.default == $id_attribute} class="selected"{/if} {if ($group.default == $id_attribute)} selected{/if} {if ($group.default == $id_attribute)} {$default_colorpicker = $id_attribute} {/if} {if ($group.default == $id_attribute)} checked="checked"{/if} Ensuite videz votre cache smarty et affichez votre page Link to comment Share on other sites More sharing options...
Skygraphism Posted February 17, 2015 Author Share Posted February 17, 2015 (edited) Merci Eolia pour la précision ! Alors on approche du but le bouton Ajouter au panier s'affiche bien lorsque une des déclinaisons est sélectionnée. Me resterais à faire en sorte que le bouton ne s'affiche que si les 2 types de déclinaisons possible : une couleur, et si c'est Oui ou Non pour le montage Il est impératif pour moi de faire ça afin d'éviter toute commande sans couleur ou sans précision sur le montage. Mais je sais pas comment vérifier si oui ou non une déclinaison est sélectionnée ou pas. En fait pour être plus précis ce que je voudrais faire serait de rajouter une condition à l'affichage du bouton "Ajouter au panier" qui, il me semble, se fait ici : <div class="box-cart-bottom"> <div{if (!$allow_oosp && $product->quantity <= 0) || !$product->available_for_order || (isset($restricted_country_mode) && $restricted_country_mode) || $PS_CATALOG_MODE} class="unvisible"{/if}> <p id="add_to_cart" class="buttons_bottom_block no-print"> <button type="submit" name="Submit" class="exclusive"> <span>{if $content_only && (isset($product->customization_required) && $product->customization_required)}{l s='Customize'}{else}{l s='Add to cart'}{/if}</span> </button> </p> </div> Cette condition vérifierait si l'article est bien un véhicule et si les déclinaisons ont bien été sélectionnées pour afficher le bouton. Mais pour ça me faudrait savoir comment vérifier si une déclinaison est sélectionnée ou pas en fonction de son Id. Et comme je disais plus haut je pensais utiliser cette fonction : $product->getAttributeCombinationsById($id_attribute, $this->context->language->id); Mais j'ai un peu de mal à l'utiliser et l'exploiter. Quelqu'un l'a déjà utilisé? ou si vous avez une meilleure idée je suis preneur ! Edited February 17, 2015 by Skygraphism (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted February 17, 2015 Share Posted February 17, 2015 Vous vous compliquez la vie^^ Apparament vous avez ajouté vos déclinaisons à la mano, donc Prestashop n'a pas géré leurs combinaisons Il faut créer un groupe couleur et un groupe montage Il faut leur ajouter des valeurs (rouge, jaune, aucune... et oui, non) Il faut ensuite utiliser le générateur de déclinaisons Maintenant, sur votre page produit, si les 2 options ne sont pas sélectionnées, le bouton ne s'affichera pas Link to comment Share on other sites More sharing options...
Skygraphism Posted February 17, 2015 Author Share Posted February 17, 2015 Oui j'aime bien me compliquer la vie ! Mais non j'ai pas créé les déclinaisons à la main, j'ai bien utilisé Prestashop pour gérer les attributs et le problème du générateur de déclinaisons va survenir lors de la gestion des stocks, en effet je n'ai pas un stock de véhicules montés et un stock de véhicules non montés, on les monte en fonction des commandes , de ce fait en utilisant la gestion des stock avec le générateur de déclinaisons je vais me retrouver avec un stock pour les véhicules montés et un stock avec les véhicules non monté... Après le soucis restera le même avec ma situation actuelle j'aurais toujours le stock de montage oui non à gérer, mais je pense que ce sera toujours mieux d'avoir juste ces deux à gérer pour tous les véhicules que toutes les déclinaisons de tous les véhicules pouvant être générées par le générateur (car les couleurs diffèrent en fonction des véhicules). D'ailleurs j'en profite pour demander si vous avez une idée d'où il faudrait que je regarde pour décrémenter le stock de plusieurs attributs d'un produit lors d'une commande? (et déjà aussi si c'est vraiment faisable...) Link to comment Share on other sites More sharing options...
Eolia Posted February 17, 2015 Share Posted February 17, 2015 Les quantités du montage, il suffit de mettre 10 000 hein Normalement, lors d'une commande les attributs sont décrémentés auto. Link to comment Share on other sites More sharing options...
Skygraphism Posted February 17, 2015 Author Share Posted February 17, 2015 oui c'est le système D que j'ai trouvé (même si c'est pas très propre ) mais dans ce cas il faut impérativement que les clients sélectionnent bel et bien les 2 attributs/déclinaisons pour éviter tout soucis de stock et de commande! Link to comment Share on other sites More sharing options...
Skygraphism Posted February 17, 2015 Author Share Posted February 17, 2015 (edited) Alors j'ai réussi à trouver ma solution grâce au forum en anglais : https://www.prestashop.com/forums/topic/367953-required-attribute-selection-disallow-add-to-cart-with-default-attributes/?p=1827786 Solution que j'ai appliqué à mon problème et que j'explicite ici . Etape 1: themes\default-bootstrap\js\product.js: 1. Tout en haut du fichier, après var colors = []; ajouter les lignes suivantes : var combinationColorSelected = false; var combinationAttrSelected = false; var combinationRatioSelected = false; 2. Scrollez plus bas, pour moi c'est vers la ligne 243 et remplacez le code suivant: $(document).on('click', '.color_pick', function(e){ e.preventDefault(); colorPickerClick($(this)); getProductAttribute(); }); $(document).on('change', '.attribute_select', function(e){ e.preventDefault(); findCombination(); getProductAttribute(); }); $(document).on('click', '.attribute_radio', function(e){ e.preventDefault(); findCombination(); getProductAttribute(); }); par $(document).on('click', '.color_pick', function(e){ e.preventDefault(); colorPickerClick($(this)); getProductAttribute(); combinationColorSelected = true; }); $(document).on('change', '.attribute_select', function(e){ e.preventDefault(); findCombination(); getProductAttribute(); combinationAttrSelected = true; }); $(document).on('click', '.attribute_radio', function(e){ e.preventDefault(); findCombination(); getProductAttribute(); combinationRatioSelected = true;}); Etape 2: themes\default-bootstrap\js\modules\block-cart\ajax-cart.js: Trouver la ligne suivante, pour moi c'est vers la ligne 144: //for product page 'add' button... $(document).on('click', '#add_to_cart button', function(e){ e.preventDefault(); ajaxCart.add($('#product_page_product_id').val(), $('#idCombination').val(), true, null, $('#quantity_wanted').val(), null); }); et remplacer par: //for product page 'add' button... $(document).on('click', '#add_to_cart button', function(e){ e.preventDefault(); if ( !combinationColorSelected || !combinationRatioSelected) { if (!combinationColorSelected) alert('Merci de sélectionner une couleur.'); else alert('Merci de sélectionner une option de montage (Oui ou Non).'); } else ajaxCart.add($('#product_page_product_id').val(), $('#idCombination').val(), true, null, $('#quantity_wanted').val(), null); }); Cela m'affiche donc un message d'alerte si le client n'a pas sélectionné un des deux attributs ! Il me restera plus qu'à appliquer cette vérification aux pages produits correspondant à des véhicules! Je passe le topic en résolu! Merci à tous pour votre aide et contributions Edited February 17, 2015 by Skygraphism (see edit history) Link to comment Share on other sites More sharing options...
bvalfrey Posted January 11, 2016 Share Posted January 11, 2016 Bonjour, effectivement ce code marche, cependant il empêche d'ajouter aussi les produits qui n'ont pas de déclinaisons. J'ai fais le tour de tous les forums et impossible de trouver ce qu'il me faut. J'ai besoin d'afficher un message d'alerte mais il faut aussi que je puisse choisir sur quelle catégorie de produit l'activée. Un petit coup de main svp Merci Link to comment Share on other sites More sharing options...
Eolia Posted January 11, 2016 Share Posted January 11, 2016 Il suffit de détecter si le produit a des attributs avant d'affecter les 3 variables à false, sinon les affecter à true Link to comment Share on other sites More sharing options...
doekia Posted January 11, 2016 Share Posted January 11, 2016 On frise le ridicule quand même ... un petit coup de main alors que Skygraphism et le forum anglais donne une marche a suivre très avancée. Si on cherche à construire soit-même l'Empire State Building, faut quand même savoir tenir une truelle. 1 Link to comment Share on other sites More sharing options...
bvalfrey Posted January 11, 2016 Share Posted January 11, 2016 C'est donc ça la communauté Prestashop... Link to comment Share on other sites More sharing options...
doekia Posted January 11, 2016 Share Posted January 11, 2016 ça? je ne suis pas une chose. Maintenant tu veux monter gratis ton réacteur RBMK1000 alors que tu n'as aucune idée de comment lire un plan de montage IKEA. Donc oui le ça préfère que tu te sentes offusqué plutôt qu'un nouveau Pripiat. Link to comment Share on other sites More sharing options...
Eolia Posted January 11, 2016 Share Posted January 11, 2016 Euh... vous avez lu ce que j'ai mis plus haut ? Trouver if (typeof combinations !== 'undefined' && combinations) dans le code et mettre les conditions nécessaires, c'est trop dur ? critiquer la communauté parce qu'elle ne vous donne pas le code tout cuit prêt à copier / coller c'est un peu fort aussi^^ Link to comment Share on other sites More sharing options...
bvalfrey Posted January 11, 2016 Share Posted January 11, 2016 Tu me prends de haut avec ta première réponse! Ce que Skygraphism a mit dans ce topic ne me correspond pas donc je demande de l'aide à mon problème personnel ce que je trouve normal. Je veux simplement savoir comment afficher cette erreur sur des catégories définies et non sur tous mes produits. Merci. Link to comment Share on other sites More sharing options...
doekia Posted January 11, 2016 Share Posted January 11, 2016 (edited) Parce que ta question implique simplement de mettre en oeuvre un if et/ou un alert. Donc: - soit tu n'as pas le niveau pour pouvoir écrire ce genre de chose très simple (aucune honte à ça au demeurant), ce qui laisse envisager un liste sempiternelle de question très low level. Mais tu as déjà patché ton code à ce que je comprend, ça va devenir difficile de te guider touche à touche. - soit tu ne veux même pas respecter la 2nd règle du forum "Prendre la peine de s'aider soi-même avant de demander de l'aide". S'aider c'est aussi se documenter avant d'appliquer des "patch", les comprendre un minimum, donc savoir mettre en oeuvre un test simple correspondant à la variation que tu souhaites. C'est en effet ma 1ère réponse te concernant (même si j'ai à peine voilée celle-ci d'un on impersonnel), mais hélas ce n'est pas ma 1ere réponse sur ce forum où l'interlocuteur ne sait pas assez être autonome, et, comme ça va partir en vrille (coté code, car nous ne savons être omnicient) et l'on va y passer des heures/jours/semaines en frustrations mutuelles. Je crois d'ailleurs que ce qui m'a fait bondir c'est le "petit coup de main" alors que tu veux ajuster un patch dans une zone un rien musclée. D’ailleurs, ... catégorie ... tu te rends bien compte qu'un produit peut appartenir à plusieurs catégories? Quel est ton besoin dans ce cas? Désolé de t'avoir chafouiné et bonne année 2016 quand même Edited January 11, 2016 by doekia (see edit history) Link to comment Share on other sites More sharing options...
2FR3 Posted January 11, 2016 Share Posted January 11, 2016 @bvbalfrey Bonsoir, Je vous suggère d'ouvrir un sujet propre a votre demande. Link to comment Share on other sites More sharing options...
bvalfrey Posted January 11, 2016 Share Posted January 11, 2016 Effectivement Doekia je bloque sur le code a rentrer et dans quel fichier. J'ai déjà adapté à mes besoins le code qui est posté dans ce topic dans mon fichier Ajax-cart.js. J'aurai juste donc besoin de comprendre comment faire apparaître cette erreur sur les catégories que je veux. Peux tu m'aider ou pas? Je sais qu'un produit peut-être attribué à plusieurs catégories, mais dans mon cas pas de soucis. Merci. Link to comment Share on other sites More sharing options...
bvalfrey Posted January 13, 2016 Share Posted January 13, 2016 Le nouveau Topic est ici: https://www.prestashop.com/forums/topic/498965-rendre-la-sélection-dune-déclinaison-obligatoire-excepté-sur-une-catégorie/ Merci. Link to comment Share on other sites More sharing options...
doekia Posted January 13, 2016 Share Posted January 13, 2016 D’ailleurs, ... catégorie ... tu te rends bien compte qu'un produit peut appartenir à plusieurs catégories? Quel est ton besoin dans ce cas? Je sais qu'un produit peut-être attribué à plusieurs catégories, mais dans mon cas pas de soucis. Dans le fichier product.js, comment faire pour accéder aux variables Prestashop? ex: ($category->id == 17), ($category_id == 17) J'ai essayé plusieurs façon et ça ne fonctionne pas. Nous voilà au coeur du problème. C'est pas un souci mais typiquement c'est bien ça le souci. Donc $product contient un propriété qui se nomme id_category_default, qui peux contenir 17 dans le cas où c'est bien la catégorie par défaut de ce produit. Sinon, tu vas devoir passer par la statique Product::getProductCategories($product->id) qui ramène un tableau et vérifier la présence de la 17. if (in_array(17, Product::getProductCategories($product->id))) { ... } Mais ton problème semble non lié à catégorie dans l'obsolue mais au fait que certains produits n'ont pas de déclinaisons. Tu dois détecter ce cas et prendre les mesures dans ton js pour ne PAS bloquer via alert() si if ( !combinationColorSelected || !combinationRatioSelected) en effet, sans déclinaisons pas de variable combinationColorSelected et/ou tu la force à true dans ce cas 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