Jump to content

Deithso

Members
  • Posts

    29
  • Joined

  • Last visited

Everything posted by Deithso

  1. Bonjour, Vous pouvez modifier ça depuis le backoffice, Menu : Préférences > SEO & URL > URL DE LA BOUTIQUE Mettez "/" dans le champs Chemin de base au lieu de "ps"
  2. Bonjour, Comme Eolia l'avait précisé il faut aussi modifier la classe objectModel, mais ATTENTION, il faut absolument pas modifier le fichier mentionné directement mais faut faire une surcharge à fin de suivre les bonne pratique aussi éviter des problèmes suite aux maj de la boutique
  3. Bonjour, Pour faire simple, essaies ceci : $sql2 = 'SELECT * FROM `'._DB_PREFIX_.'customer` AS a WHERE a.`id_default_group` = 4 AND a.`id_customer` NOT IN ( SELECT b.`id_customer` FROM `'._DB_PREFIX_.'ukooformpro_submission` AS b )'; $coordonnees2 = Db::getInstance()->ExecuteS($sql2);
  4. Bonjour, Pour bien maîtriser tout ce qui est en relation avec les produits, vous devez faire une sauvegarde globale de votre site, puis sauvegarder les tables concernées je cite : ps_attribute ps_attribute_* ps_category ps_category_* ps_image ps_image_* ps_product ps_product_* ps_supplier ps_supplier_* ps_manufacturer ps_manufacturer_* ps_feature ps_feature_* ps_specifique_price ps_specifique_price_* ps_stock_available ps_accessoires ps_accessoires_* ps_accessory ps_xx_* = toutes les les autres tables peut être que j'ai oublié des tables, ou j'ai mal écrit les noms, à vérifier. vous lancez votre module pour supprimer les produits et vérifiez si tout est ok sinon vous avez les tables concernées à votre secours
  5. Bonjour, Vous pouvez changer le mode depuis le module : Configurateur de thème Pour ne pas laisser le choix aux utilisateurs, vous pouvez cacher le bouton via css
  6. Bonjour Sara, La solution la plus simple est de créer une page php basique dans la racine et un fichier tpl dans le dossier de ton thème le code à mettre dans le nouveau fichier dans la racine <?php include(dirname(__FILE__).'/config/config.inc.php'); include(dirname(__FILE__).'/header.php'); $smarty->display(_PS_THEME_DIR_.'questionnaire.tpl'); include(dirname(__FILE__).'/footer.php');?> D'autres solutions possibles : Créer un module qui te permettra d'afficher/cacher le questionnaire en activant/désactivant le module, il te permettra aussi de créer une vue avec le formulaire ainsi qu'une table dans la base de données pour y stocker les réponses des clients à fin de les exploiter (le module peut avoir plus de fonctionnalités). Créer une page cms en dupliquant le fichier cms.tpl et le renommant puis modifier le contenu pour rajouter ton formulaire Créer une page php basique avec formulaire qui n'a aucune relation avec prestashop et faire le traitement nécessaire
  7. Bonjour à tous, Ayant cherché dans le site et sur le web je n'ai pas pu trouvé une solution ou une piste pour mon problème qui est très simple. Je suis entrain de développer un petit module qui permet au client de choisir la boutique du magasin le plus proche, Comment ça marche ? J'ai hooké mon module à displaytop et je teste si la multiboutique est activé, si oui, je test si la valeur de la cookie n'est pas nulle, Si la cookie est nulle alors le client est redirigé vers le module en lui listant les boutiques disponible, en choisissant une boutique - via ajax - l'id de la boutique est stocké dans la cookie puis redirection. Le besoin, Si le client a déjà choisit une boutique, lorsqu'il tape l'url du site ou une autre boutique il faut qu'il soit redirigé vers la boutique déjà choisit ( pour changer il peut accéder au module pour faire un autre choix) Le lien de la boutique = boutique.ltd, la première boutique = b1.boutique.ltd et la deuxième boutique = b2.boutique.ltd Le problème rencontré Lorsque le client accède à boutique.ltd il est redirigé à b1.boutique.ltd/module/controller pour faire son choix, dans la liste il a 2 boutique, Si je sélectionne la boutique b2, j'ai le cookie crée avec la valeur 'visible dans le context lorsque je suis dans la boutique b2) alors que normalement je le stock dans le context actuel qui est bien celui de la boutique b1, quand je fait n'importe quel choix soit dans la boutique b1 ou b2, la cookie est stockée dans le context de b2 mais je ne retrouve jamais ma cookie dans b1 Question Est ce qu'il y a possibilité d'avoir - via cookie ou autre - la possibilité de stocker le choix du client qu'il soit accessible peut importe le context ou la boutique utilisée en entrée pour le rediriger soit vers son dernier choix, soit vers le module pour choisir ( à savoir y'aura 7 boutique ou plus) public function hookDisplayTop() { if (Shop::isFeatureActive()) { $module = Tools::getValue('module'); ppp($this->context->cookie); if($this->context->controller->module->name!='monmodule' && $this->context->controller->page_name='moncontrolleur'){ if(empty($this->context->cookie->currentShop)){ Tools::redirect($this->context->link->getModuleLink('monmodule', 'moncontrolleur')); } else { $currentShop = (int)$this->context->cookie->currentShop; $shop = new Shop($currentShop); if (!Validate::isLoadedObject($shop)){ die(Tools::jsonEncode(array( 'result' => false, 'error' => Tools::displayError('Error message') ))); } if($shop->id!=$this->context->shop->id){ Tools::redirect($shop->getBaseURL()); } } } } } Code ajax de stockage du choix du client $id_shop = (int)Tools::getValue('choice'); $context->cookie->__set('currentShop' , $id_shop); $shop = new Shop($id_shop); die(Tools::jsonEncode(array( 'result' => true, 'redirect' => $shop->getBaseURL() ))); Merci pour toute piste
  8. Bonjour, Je pense que vous pouvez le changer depuis le backoffice, via la traduction en accédant au module, Recherchez "Traduire" cliquez sur le drapeau français, Cherchez où se trouve le mot solde et remplacez par promotion
  9. Bonjour, Si j'ai bien compris le besoin, tu veux qu'un client disposant d'un code spécifique qu'il puisse le saisir quelque part puis il va bénéficier d'un produit cadeau La question, est ce qu'on saisissant ce code la commande se crée automatiquement avec le statut paiement accepté, Là vous avez 2 approches, soit passer par le panier, puis laisser le client suivre le processus de la commande, pour qu'il puisse rentrer l'adresse et choisir le mode de livraison si y'aura plusieurs ( là faut penser aux mode de livraison avec des frais supplémentaire qui vont affecter le montant du panier, sauf si les frais sont offerts), dans ce cas là le développement n'est pas très compliqué que des vérifications tout au long du processus en limitant le nombre de produit dans le panier, 2eme solution, c'est quand le client saisit son code, tu vérifies s'il dispose d'une adresse, sinon lui afficher un popup pour qu'il ajoute son adresse, puis le mode de livraison et le reste se fait par code, l'ajout du produit au panier, associer l'adresse, le mode de livraison, le mode de paiement, (là aussi il faudra créer un mode de paiement rien de compliqué) Quelle sera la logique pour le choix du produit ?
  10. Anytime, en fait j'ai fait une erreur dans le code, il faut utiliser la fonction getProducts() à la place de nbProducts() Voila la correction $nb_cart_products = count($this->context->cart->getProducts()); if($nb_cart_products>0){ $this->errors[] = Tools::displayError('Ton message.'); return; }
  11. Bonjour, Ce que samyha veut dire tout simplement c'est que cette option n'est pas disponible par défaut dans prestashop donc tu devras salir tes mains avec le code, Pour cela il faudra surcharger le frontcontroller "controllers/front/CartController.php" et mettre en place un teste sur le panier si pas vide afficher un message d'erreur sinon le produit sera ajouté Le test est à faire dans la fonction protected function processChangeProductInCart() Dedans tu trouveras une variable : $cart_products = $this->context->cart->getProducts(); Juste après "Pas obligatoire" tu mets ton teste $nb_cart_products = $this->context->cart->nbProducts(); if($nb_cart_products>0){ $this->errors[] = Tools::displayError('Ton message.'); return; } PS : Ma version prestashop 1.5.6.2
  12. Bonjour, Vous avez une erreur de frappe certainement dans votre code "/home/boutiqueqo/www/themes/dm-free-black14/header.tpl" on line 49 "var priceDisplayPrecision = {$priceDisplayPrecision*$currency-&gt;decimals};" - Unexpected "&"' in Référez vous à votre code au lieux de mettre $currency->decimals vous avez mis $currency-$>decimals
  13. daed comme krismb vous l'a expliqué, vous ne pouvez pas réserver un espace pour le serveur si vous activez la multiboutique, puisque c'est toujours la même installation, les mêmes fichiers, vous n'aurez pas plusieurs dossiers de prestashop, la multiboutique c'est logique, c'est pas quelque chose de physique genre vous aurez 3 dossiers puisque vous avez 3 boutiques Le tout passe par la base de données Si vous souhaitez quand même faire du quota alors là vous devez faire 3 installations différentes dans des sous domaines et vous attribuez votre quota mais là c'est plus la multiboutique de prestashop
  14. Effectivement je suis entrain de développer "Liste de naissance"
  15. Bonjour @Patrick, si c'été si simple que ça, car l question posée n'est qu'une contrainte, le cas normale c'est qu'il faut créer la liste, la partager et les proches achètent, mais les produits achetés ne sont ni commandé ni déstocké du fait que le propriétaire pourra changer son avis sur un produit, il ne sera pas limité, ni obligé de prendre des produits dont il n'a plus besoin uniquement car il a été payé, c'est via une action de ce dernier le produit est déstocké & commandé @ecoterre, le site en exemple exige la création d'un compte pour les participants, la solution n'étant pas un pestashop, je suppose que le développement été facile là dessus, par contre pour ton cas si tu veux que les participants ne soient pas obligés de s'inscrire c'est possible, mais ya un énorme travail derrière, pour simplifier la chose je pense que les inscriptions doivent être obligatoires pour exploiter déjà ce qu'offre prestashop, En fait justement je suis entrain de développer un module de liste de naissance pour un client
  16. A supprimer Je n'arrive pas à supprimer ce poste pour éviter double postes
  17. Salut ecoterre, en fait dans ton cas, tu veux que les participants ne créent pas de compte et avoir la possibilité de payer le produit ?? Bonjour, Merci Mediacom87 pour ta participation, en fait l'idée du cagnotte est une autre fonctionnalité, c'est quand Y paye le produit, mr x n'est pas obligé de prendre le produit payé, donc il peut le retirer de la liste s'il change d'avis, alors là le montant payé sera versé vers une cagnotte que mr X pourra utiliser pour payer d'autres produits
  18. Bonjour Coonax merci pour ta réponse, en fait je sais pas vraiment si c'est ce que je dois faire ou pas car c'est la première idée qui me tombe sur la tête, en fait le besoin c'est que je suis entrain d'étendre le module 'blockwishlist", le module permet à des gens de créer une liste de cadeaux et la partagé avec les autres, un des autres (Mr Y) peut acheter et offrir un des produits de la liste des cadeaux, par contre le propriétaire de la liste, n'est pas obligé de prendre ce produit, donc il peut retirer le produit acheté mais il bénéficie d'un bon de réduction (= le prix payé par le gentil Mr Y) et payé acheter un autre produit avec ce montant
  19. Bonjour à tous, N'ayant pas trouvé une information après avoir cherché sur le forum, je me permet de vous adresser la question, En fait depuis le backoffice il est possible de supprimer un produit d'une commande contenant plusieurs produits. Ma question est : est ce qu'il est possible de pouvoir supprimer un produit dans une commande depuis un module en front office, Merci.
  20. Bonjour tout le monde, Je viens pour vous afin de demander votre aide, Je pense que le titre vous semblera bizarre, mais c'est vraiment la question, Je vais vous expliquer pour qu'on navigue sur les même ondes, En fait j'aimerai développer/étendre le module wishlist de prestashop, mon besoin est le suivant, J'aimerai qu'une personne x crée une liste et la partager avec des amis, J'aimerai qu'un ami Y, puisse payer un produit de la liste de X, mais sans passer par le processus de commande ou bien en passant par le processus, mais qu'il puisse payer le produit sans que cela crée une ligne de commande, ainsi Mr X aura la possibilité de commander de produit payé par Y ( ce qui créera la ligne de commande) Je me demande s'il y a une possibilité de faire ainsi, (J'ai une idée plus simple, que je garde pour le cas ou je trouve pas de solution) Mr Y commande le produit ( une ligne de commande est créer avec un statut personnalisé et la qté du produit n'est pas décrémentée), Mr X dispose d'un bouton 'commander' qui changera le statut de la commande est décrémente la qté, mais là ya contrainte de commande de Mr Y avec plusieurs produits et Mr X commande un seul produit) Merci à vous en avance pour toute réponse ou participation.
  21. Bonjour, Avez -vous ajouter les pays dans les règles de taxes ?? Si non Rendez vous dans le menu : localisation -> règles de taxes -> Dans la liste, modifiez la règle correspondant à 20% dans la nouvelle fenêtre, cliquez sur "ajouter une nouvelle règle de taxes" un bloc s'affichera, choisissez le pays (France ou tous ) et la taxe ( 20%) puis sauvegarder et rester, Retournez au produit et vérifiez si le ht est bien calculé cette fois, sinon réécrivez le prix ttc
  22. Pourquoi n'as tu pas pensé à crée un module ? et créer les contrôleurs frontal dont tu as besoin est un tpl pour chaque contrôleur ? et gérer les urls comme tu l'as fait avant via seo & urls -- edit -- Essaie de supprimer le fichier "class_index.php" dans le dossier cache J'ai suivi ce que tu as fais et je n'ai eu aucun problème avec, j'ai essayé le fichier shop.php avec les 2 instructions (en commentant et décommentant ) //Tools::displayFileAsDeprecated(); //Tools::redirect('index.php?controller=shop'.((count($_GET) || count($_POST)) ? '&'.http_build_query(array_merge($_GET, $_POST), '', '&') : ''), __PS_BASE_URI__, null, 'HTTP/1.1 301 Moved Permanently'); Controller::getController('ShopController')->run();
  23. Bonjour, Essaie de voir si la variable existe déjà et ce qu'elle contienne {$product|@var_dump} ou {$products|@var_dump}
×
×
  • Create New...

Important Information

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