Jump to content

Aduler.com

Members
  • Posts

    71
  • Joined

  • Last visited

Profile Information

  • Activity
    Web development agency

Recent Profile Visitors

6,469,416 profile views

Aduler.com's Achievements

Newbie

Newbie (1/14)

5

Reputation

  1. Bonjour, Nous avons été victime d'une attaque sur le site de démo. C'est le problème lorsqu'on laisse des libertés aux mauvaises personnes >< L'erreur ne vient pas du module. Nous allons nettoyer le site incessamment sous peu. Désolé pour la gêne occasionnée. Cordialement, L'équipe Aduler.com
  2. Bonjour PaulineG, Bien sur, voici les accès FRONT-OFFICE url : http://prestashop-ticketoffice.endemo.fr/ Login utilisateur : [email protected] Passe utilisateur : testtest BACK-OFFICE url : http://prestashop-ticketoffice.endemo.fr/admindemo/ Login admin (fr) : [email protected] Login admin (en) : [email protected] Mot de passe admin : demodemo A bientôt ! L'équipe Aduler.com
  3. Je vous répond par mail après avoir fait les tests nécessaires
  4. Bonjour citrix34, Serait-il possible de connaitre votre demande concernant les produits dématérialisés ? Notre module utilise les déclinaisons pour faire différents type de schéma d'abonnement. Or un produit dématérialisé ne permet pas de faire des déclinaisons. Mais nous pouvons toujours trouver une solution à votre problème. Si vous êtes intéressé, vous pouvez nous donner des détails via le formulaire de contact de notre plateforme: http://www.aduler.com/contact-form.php Cordialement. Maxime
  5. Bonjour Slett, Sur notre site de démo, la décrémentation fonctionne parfaitement que ce soit pour un abonnement one shot ou récurrent, je vous invite à le constater par vous même (les accès sont dans le topic du dessus). De plus le fait que vous ne puissiez mettre qu'un abonnement dans le panier est normal, étant donné qu'il existe beaucoup de modules de paiements et que nous n'avons pas accès à toutes les api de ces dernières, nous ne pouvons pas prendre plusieurs produits de type abonnement ensemble et idem pour des abonnements mélangés avec des produits classiques car la banque va prélever de manière récurrente le montant total plutôt que le montant de l'abonnement en question. Nous restons à votre disposition pour d'autres questions via le formulaire de notre plateforme: http://www.aduler.com/contact-form.php Cordialement. Maxime
  6. Introduction Bonjour à tous, Tout d’abord, toute l’équipe Aduler.com vous souhaite la bonne année avec plein de bonnes choses Suite à de nombreuses demandes concernant nos modules, nous avons réinstallé un site de démonstration pour chacun d’entre eux afin d’améliorer vos tests. De plus, nous avons installé les versions les plus avancées de ces modules pour vous garantir une évolution constante de ceux-ci. Module Gestion d’abonnement Création d’un abonnement (BO) Le module de gestion d’abonnement permet de transformer un site de vente classique en site d’abonnement. Il est tout à fait possible de mélanger les deux afin de proposer des box ou des forfaits ainsi que des produits “normaux” sans abonnement. Une autre utilisation possible de la gestion d’abonnement est que lorsqu’un utilisateur souscrit à un abonnement, ce dernier peut accéder à des produits exclusifs ou à des réductions intéressantes pendant toute la durée de son abonnement ! Pour créer un abonnement, il faut dans un premier temps créer un produit, par exemple: Location de ninjas entraînés par Chuck Norris à 15000€. C’est cher mais on parle de Chuck Norris là... Suite à cela, vous allez créer un groupe de déclinaison appelé par exemple: “Abonnement” ou “Forfait”. Ensuite vous allez devoir créer des déclinaisons: - Une déclinaison nommée “Durée: 3 mois (paiement récurrent)” qui ne va pas changer le prix du produit. - Une déclinaison nommée “Durée: 3 mois (paiement immédiat)” qui va modifier le prix du produit à 45 000€ - Une déclinaison nommée “Durée: 6 mois (paiement récurrent)” qui ne va pas changer le prix du produit. - Une déclinaison nommée “Durée: 6 mois (paiement immédiat)” qui va modifier le prix du produit à 90 000€ - Une déclinaison nommée “Durée: 12 mois (paiement récurrent)” qui ne va pas changer le prix du produit. - Une déclinaison nommée “Durée: 12 mois (paiement immédiat)” qui va modifier le prix du produit à 150 000€ Dans le Backoffice du module de gestion d’abonnement, il ne reste plus qu’à transformer les déclinaisons précédemment créées en abonnement en précisant la déclinaison souhaitée, la durée de l’abonnement, sa fréquence de prélèvement, si c’est un paiement en une fois ou récurrent, etc… Il faut également assigner un mode de paiement unique pour chaque abonnement créé afin d’éviter les conflits entre abonnements et produits classiques. Cependant nous avons développé un module Paypal fonctionnant avec le module “Gestion d’abonnement” permettant d’avoir un mode de paiement Paypal unique pour tous les abonnements. http://www.aduler.com/fr/module/40-paiement-recurent-via-paypal.html Souscription à un abonnement (FO) Une fois toute la partie précédente faite, les clients peuvent à présent se délecter d’une protection maximale en louant des ninjas surentraînés. Pour se faire, ils vont sur la page du produit, puis ils choisissent le forfait qu’ils souhaitent prendre. Une fois leur panier virtuel rempli de katanas, shurikens et autre matériels indispensable à tout ninja qui se respecte, le client valide sa commande en suivant les étapes classiques d’un site sous Prestashop. Lorsque la commande est validée, l’abonnement démarre. Si notre client, maintenant prêt à faire face à une invasion de zombie, veut voir pendant combien de temps ses anges gardiens vont le protéger, il n’a qu’à se rendre sur sa partie “mon compte” afin de voir l’évolution de son abonnement. Quoi de neuf sur le module ? Voici l’ensemble des nouvelles fonctionnalités et des correctifs du module depuis sa version 1.0 Nouveautés v3.2 : - Correction des prix dans le front office : le prix affiché comprend les frais de port éventuels - Ajout d'une clé de sécurité pour lancer le CRON ---------------------- Nouveautés v3.1 : Correctifs : - Affichage de la version dans l'interface - Maj traduction ---------------------- Nouveautés v3.0 : Correctifs : - Correction d'une erreur dans le CRON - Correction d'un bug de génération de facture inutile sur les abonnements en paiement direct ---------------------- Nouveautés v2.9 : Correctif : - Bug d'affichage sur le Backoffice des montants des abonnements ---------------------- Nouveautés v2.8 : Correctif : - Bug d'affichage sur le Backoffice du détail des abonnements en paiement immédiat (page blanche) ---------------------- Nouveautés v2.7 : Nouvelle fonctionnalité : - Compatible module PaypalSubscriptions 2.0 ---------------------- Nouveautés v2.6 : Nouvelle fonctionnalité : - Passage des états du paiement du front en classe CSS, pour pouvoir adapter l'affichage Correctif : - Sur le front, dans "mes abonnements", affichage correct du "Total à payer" ---------------------- Nouveauté v2.5 : Nouvelle fonctionnalité : - Mécanique interdisant le panachage produits classiques et abonnements dans le panier Correctifs : - Statut cohérent de l'abonnement tant que le paiement n'est pas validé - Forçage dans la commande de la date de fin et d'anniversaire au 28 si elle est dans une plage 29-31. - Correctif du calcul du total par abonnement, en cas de paiement "one shot" (le total = prix de vente du produit) ---------------------- Nouveautés v2.4 : Nouvelles fonctionnalités : - A la création d'un schéma, possibilité de lier l'abonné à un groupe - Ajout d'un bouton "Lancer immédiatement le Cron" en BO Correctifs : - Détail d'un abonnement : affichage des décimales - Meilleure gestion des abonnements pris en fin de mois - Rajout de sécurité sur la configuration des schémas - Affichage plus intuitif des paiements pour les abonnements "one-shot" - Correction du bug de validation immédiate de l'abonnement - Corrections de bugs mineurs dans le code Lien vers l’ancien POST Si vous souhaitez plus de détails ou des images illustrant le module Gestion d’abonnement, vous pouvez vous rendre sur le premier topic dédié à ce dernier ! http://www.prestashop.com/forums/topic/225088-module-gestion-des-abonnements-sur-prestashop-v21-par-adulercom/ Accès vers le site de démonstration Pour avoir accès au site de démonstration, puisque c’est la raison de ce topic, vous n’avez qu’à regarder juste en dessous url du site: http://prestashop-subscription.endemo.fr/ url administration : http://prestashop-subscription.endemo.fr/admindemo/ Login admin fr : [email protected] Login admin en : [email protected] Mot de passe admin : demodemo Login utilisateur Front-Office : [email protected] Mot de passe utilisateur Front-Office : testtest Enfin, si ce module vous intéresse ou que vous avez simplement envie d’obtenir plus d’informations sur le module Gestion d’abonnement, vous pouvez nous contacter via le formulaire de notre site http://www.aduler.com/contact-form.php A bientôt sur Aduler.com L’équipe Aduler.com
  7. Introduction Bonjour à tous, Tout d’abord, toute l’équipe Aduler.com vous souhaite la bonne année avec plein de bonnes choses Suite à de nombreuses demandes concernant nos modules, nous avons réinstallé un site de démonstration pour chacun d’entre eux afin d’améliorer vos tests. De plus, nous avons installé les versions les plus avancées de ces modules pour vous garantir une évolution constante de ceux-ci. Module Revendeur Le module Revendeur permet aux clients d’un site sous Prestashop de soumettre des produits en remplissant un formulaire en front-office, configuré au préalable par l’administrateur du site. Une fois le produit envoyé, l’administrateur doit valider le produit, ce qui va le publier sur le site. L’administrateur peut créer une infinité de formulaires. Par exemple, pour un site de vente de véhicules d’occasion : - Un formulaire pour les voitures - Un autre formulaire pour les motos - Un autre formulaire pour les Chars d’assaut (Russian style) Chaque formulaire peut être équipé d’un Captcha afin d’éviter aux robots de mettre en vente du viagra ou autre solution permettant d’augmenter sa libido. Bien que le formulaire ne soit accessible uniquement lorsqu’on est connecté. Lorsque le produit est publié sur le site, n’importe quel client peut acheter ce dernier. Une fois acheté, le paiement est effectué à l’ordre de l’administrateur du site car celui-ci peut prendre une commission sur toutes les transactions de son site. Dans le cas d’un paiement non direct comme le chèque ou le virement bancaire, l’administrateur doit d’abord valider la réception du paiement avant de passer à la suite. Une fois le paiement validé, le revendeur reçoit un message expliquant que son produit doit être expédié (attention aux frais de port dans le cas d’un expédition de tank). Lorsque le produit est expédié, le client informe l’acheteur via un bouton “Commande expédiée” sur le site Prestashop. Lors de la réception du produit par le client, celui-ci fait la même chose avec le bouton “Commande reçue”. C’est alors que l’administrateur peut verser le montant dû au revendeur. Quoi de neuf sur le module ? Voici l’ensemble des nouvelles fonctionnalités et des correctifs du module depuis sa version 1.0 Nouveautés v1.8 : Correctif : - Correction du capcha ---------------------------------------------- Nouveautés v1.7 : Correctif : - Suppression de l'erreur lorsqu'une vente est effectuée hors module "seller" ---------------------------------------------- Nouveautés v1.6 : Correctif : - Légère sécurisation du code pour l'envoi de mail de changement de produit ---------------------------------------------- Nouveautés v1.5 : Nouvelles fonctionnalités : - Bouton "rafraîchir" sur le backoffice - Complément d'information sur la liste des commandes terminées (prix reversé, commission) - Affichage du mode de calcul du montant à reverser - Le bouton "Paiement reçu" redirige désormais sur la page de commande Prestashop pour une meilleure compatibilité. Correctifs : - Meilleure gestion des caractères accentués - Prise en compte des installations sur un "document root" différent de "/" (certains liens dans les mails ou sur le "front") - Obligation de sélectionner une catégorie par défaut, pour le bon déroulement du processus - Liens vers l'authentification adaptée aux installations Prestashop autres que françaises - Backoffice : lien "retour" opérationnel depuis les "soumissions terminées" - La commission se calcule sur le montant HT, et non pas sur le TTC. - URL courte d'accès au produit incluant le nom/prénom du vendeur ---------------------------------------------- Nouveautés v1.4 : Correctifs : - Refonte des appels à la base de données pour compatibilité autre que MySQL. - Rajout de sécurité sur la configuration des formulaires - Prise en compte du champs "actif" des formulaires côté Frontoffice - Intégration du logo manquant pour la rubrique "Mon compte" - "Liste des vendeurs" filtrée sur les vendeurs actifs - Gestion des simples quotes dans la description d'un formulaire ---------------------------------------------- Nouveautés v1.3 : Correctif : - Correction d'un nom dynamique de préfixe de table ( _DB_PREFIX_ ) sur une des jointures ---------------------------------------------- Nouveautés v1.2 : Nouvelles fonctionnalités : - Fiche produit : Ajout de la ville et du nombre d'offres proposées par le vendeur - Nom du vendeur ajouté automatiquement après le nom du produit sur chaque produit créé - Bouton "voir tous les revendeurs", et sa page dédiée - Débrayage possible pour le choix des marques de produit par le vendeur Correctifs : - Correction graphique des titres du menu à gauche - Rajout de sécurité sur la configuration des catégories - Nouvelle gestion des prix/TVA/commission : les prix sont stockés hors-taxes, la commission est ensuite déduite au moment de payer le revendeur. - Correction du calcul du nombre de produits par vendeur Lien vers l’ancien POST Si vous souhaitez plus de détails ou des images illustrant le module Revendeur, vous pouvez vous rendre sur le premier topic dédié à ce dernier ! http://www.prestashop.com/forums/topic/211722-module-revendeur-par-adulercom/ Accès vers le site de démonstration Pour avoir accès au site de démonstration, puisque c’est la raison de ce topic, vous n’avez qu’à regarder juste en dessous url du site: http://prestashop-seller.endemo.fr/ url administration : http://prestashop-seller.endemo.fr/admindemo/ Login admin fr : [email protected] Login admin en : [email protected] Mot de passe admin : demodemo Login utilisateur Front-Office : [email protected] Mot de passe utilisateur Front-Office : testtest Enfin, si ce module vous intéresse ou que vous avez simplement envie d’obtenir plus d’informations sur le module Revendeur, vous pouvez nous contacter via le formulaire de notre site http://www.aduler.com/contact-form.php A bientôt sur Aduler.com L’équipe Aduler.com
  8. Bonjour Webfaster. * Gérer un prélèvement automatique pour un type de produits uniquement ? Tout à fait. Lorsque vous installez le module, vous devrez ensuite créer un "schéma" d'abonnement qui sert à lié un mode de paiement (automatique ou pas) à un produit + déclinaison spécifique. * Peut-il gérer un prélèvement automatique par CB ? Si oui, où sont stockées les informations des clients ? Le module gère les prélèvements automatique par CB et les informations sont stockées chez la banque sélectionnée. * Peut-on choisir quand prélever les clients dans le mois ? Non, cette fonctionnalité n'a pas encore été développé du fait de la difficulté de communiquer avec les banques. * S'afficher uniquement si le panier du client est supérieur à X euros ? Je ne comprend pas vraiment la question. * Que se passe-t-il si un prélèvement ne fonctionne pas pour un client donné ? Son statut change-t-il dans Prestashop ? Sommes-nous averti du souci ? Le prélèvement est-il soumis à nouveau un autre jour ? Une fois les prélèvements configuré avec la banque choisie, le module ne sert plus que de point de repère pour l'administrateur. Il ne vérifie pas si les paiements ont été exécutés ou non. * Gérer à 100 % le prélèvement automatique de Paypal ? Oui. De plus, nous avons développé un module qui s'intègre parfaitement avec notre module d'abonnement afin de permettre aux clients du site sous Prestashop de résilier leur abonnement à la fois sur Prestashop mais également sur Paypal en un seul clic.
  9. Bonjour. Actuellement, les fonctionnalités que vous demandez n’existent pas. Cependant, vous pouvez remplir le formulaire de contact d'Aduler pour nous décrire votre problématique. Nous pourrons alors voir si ce que vous demandez est possible ainsi que la méthode à utiliser pour y arriver. http://www.aduler.com/contact-form.php A bientôt
  10. Notre hébergeur a eu un problème avec certains serveurs. Normalement le site de démo doit fonctionner à nouveau.
  11. Pour bloquer l'achat d'un seul produit par panier/commande il est préconisé d'utiliser la technique dite de "L'override". Avant toutes manipulations, sauvegardé votre fichier original : /override/controllers/front/CartController.php Si les manipulations si dessous ne fonctionnent pas ou si vous voulez revenir à un état normal, remplacé votre fichier modifier par l'original CartController.php dans /override/controllers/front/ - Pour Prestashop 1.4 essayer ça : mettre tout ça dans /override/controllers/front/CartController.php <?php class CartController extends CartControllerCore { public function preProcess() { $orderTotal = self::$cart->getOrderTotal(true, Cart::ONLY_PRODUCTS); $this->cartDiscounts = self::$cart->getDiscounts(); foreach ($this->cartDiscounts AS $k => $this->cartDiscount) if ($error = self::$cart->checkDiscountValidity(new Discount((int)($this->cartDiscount['id_discount'])), $this->cartDiscounts, $orderTotal, self::$cart->getProducts())) self::$cart->deleteDiscount((int)($this->cartDiscount['id_discount'])); $add = Tools::getIsset('add') ? 1 : 0; $delete = Tools::getIsset('delete') ? 1 : 0; if (Configuration::get('PS_TOKEN_ENABLE') == 1 && strcasecmp(Tools::getToken(false), strval(Tools::getValue('token'))) && self::$cookie->isLogged() === true) $this->errors[] = Tools::displayError('Invalid token'); // Update the cart ONLY if $this->cookies are available, in order to avoid ghost carts created by bots if (($add OR Tools::getIsset('update') OR $delete) AND isset($_COOKIE[self::$cookie->getName()])) { //get the values $idProduct = (int)(Tools::getValue('id_product', NULL)); $idProductAttribute = (int)(Tools::getValue('id_product_attribute', Tools::getValue('ipa'))); $customizationId = (int)(Tools::getValue('id_customization', 0)); $qty = (int)(abs(Tools::getValue('qty', 1))); if ($qty == 0) $this->errors[] = Tools::displayError('Null quantity'); elseif (!$idProduct) $this->errors[] = Tools::displayError('Product not found'); else { $producToAdd = new Product((int)($idProduct), true, (int)(self::$cookie->id_lang)); if ((!$producToAdd->id OR !$producToAdd->active) AND !$delete) if (Tools::getValue('ajax') == 'true') die('{"hasError" : true, "errors" : ["'.Tools::displayError('Product is no longer available.', false).'"]}'); else $this->errors[] = Tools::displayError('Product is no longer available.', false); else { /* Check the quantity availability */ if ($idProductAttribute AND is_numeric($idProductAttribute)) { if (!$delete AND !$producToAdd->isAvailableWhenOutOfStock($producToAdd->out_of_stock) AND !Attribute::checkAttributeQty((int)$idProductAttribute, (int)$qty)) if (Tools::getValue('ajax') == 'true') die('{"hasError" : true, "errors" : ["'.Tools::displayError('There is not enough product in stock.', false).'"]}'); else $this->errors[] = Tools::displayError('There is not enough product in stock.'); } elseif ($producToAdd->hasAttributes() AND !$delete) { $idProductAttribute = Product::getDefaultAttribute((int)$producToAdd->id, (int)$producToAdd->out_of_stock == 2 ? !(int)Configuration::get('PS_ORDER_OUT_OF_STOCK') : !(int)$producToAdd->out_of_stock); if (!$idProductAttribute) Tools::redirectAdmin($link->getProductLink($producToAdd)); elseif (!$delete AND !$producToAdd->isAvailableWhenOutOfStock($producToAdd->out_of_stock) AND !Attribute::checkAttributeQty((int)$idProductAttribute, (int)$qty)) if (Tools::getValue('ajax') == 'true') die('{"hasError" : true, "errors" : ["'.Tools::displayError('There is not enough product in stock.', false).'"]}'); else $this->errors[] = Tools::displayError('There is not enough product in stock.'); } elseif (!$delete AND !$producToAdd->checkQty((int)$qty)) if (Tools::getValue('ajax') == 'true') die('{"hasError" : true, "errors" : ["'.Tools::displayError('There is not enough product in stock.').'"]}'); else $this->errors[] = Tools::displayError('There is not enough product in stock.'); /* Check vouchers compatibility */ if ($add AND (($producToAdd->specificPrice AND (float)($producToAdd->specificPrice['reduction'])) OR $producToAdd->on_sale)) { $discounts = self::$cart->getDiscounts(); $hasUndiscountedProduct = null; foreach($discounts as $discount) { if (is_null($hasUndiscountedProduct)) { $hasUndiscountedProduct = false; foreach(self::$cart->getProducts() as $product) if ($product['reduction_applies'] === false) { $hasUndiscountedProduct = true; break; } } if (!$discount['cumulable_reduction'] && ($discount['id_discount_type'] != 1 || !$hasUndiscountedProduct)) if (Tools::getValue('ajax') == 'true') die('{"hasError" : true, "errors" : ["'.Tools::displayError('Cannot add this product because current voucher does not allow additional discounts.').'"]}'); else $this->errors[] = Tools::displayError('Cannot add this product because current voucher does not allow additional discounts.'); } } if ($add && $qty >= 0 && Tools::getValue('op', 'up') == 'up') if ((self::$cart->nbProducts() + $qty) > 1) if (Tools::getValue('ajax') == 'true') die('{"hasError" : true, "errors" : ["'.Tools::displayError('Votre panier ne doit contenir qu\'un seul produit.', false).'"]}'); else $this->errors[] = Tools::displayError('Votre panier ne doit contenir qu\'un seul produit.'); if (!sizeof($this->errors)) { if ($add AND $qty >= 0) { /* Product addition to the cart */ if (!isset(self::$cart->id) OR !self::$cart->id) { self::$cart->add(); if (self::$cart->id) self::$cookie->id_cart = (int)(self::$cart->id); } if ($add AND !$producToAdd->hasAllRequiredCustomizableFields() AND !$customizationId) $this->errors[] = Tools::displayError('Please fill in all required fields, then save the customization.'); if (!sizeof($this->errors)) { $updateQuantity = self::$cart->updateQty((int)($qty), (int)($idProduct), (int)($idProductAttribute), $customizationId, Tools::getValue('op', 'up')); if ($updateQuantity < 0) { /* if product has attribute, minimal quantity is set with minimal quantity of attribute*/ if ((int)$idProductAttribute) $minimal_quantity = Attribute::getAttributeMinimalQty((int)$idProductAttribute); else $minimal_quantity = $producToAdd->minimal_quantity; if (Tools::getValue('ajax') == 'true') die('{"hasError" : true, "errors" : ["'.Tools::displayError('You must add', false).' '.$minimal_quantity.' '.Tools::displayError('Minimum quantity', false).'"]}'); else $this->errors[] = Tools::displayError('You must add').' '.$minimal_quantity.' '.Tools::displayError('Minimum quantity') .((isset($_SERVER['HTTP_REFERER']) AND basename($_SERVER['HTTP_REFERER']) == 'order.php' OR (!Tools::isSubmit('ajax') AND substr(basename($_SERVER['REQUEST_URI']),0, strlen('cart.php')) == 'cart.php')) ? ('<script language="javascript">setTimeout("history.back()",5000);</script><br />- '. Tools::displayError('You will be redirected to your cart in a few seconds.')) : ''); } elseif (!$updateQuantity) { if (Tools::getValue('ajax') == 'true') die('{"hasError" : true, "errors" : ["'.Tools::displayError('You already have the maximum quantity available for this product.', false).'"]}'); else $this->errors[] = Tools::displayError('You already have the maximum quantity available for this product.') .((isset($_SERVER['HTTP_REFERER']) AND basename($_SERVER['HTTP_REFERER']) == 'order.php' OR (!Tools::isSubmit('ajax') AND substr(basename($_SERVER['REQUEST_URI']),0, strlen('cart.php')) == 'cart.php')) ? ('<script language="javascript">setTimeout("history.back()",5000);</script><br />- '. Tools::displayError('You will be redirected to your cart in a few seconds.')) : ''); } } } elseif ($delete) { if (self::$cart->deleteProduct((int)($idProduct), (int)($idProductAttribute), (int)($customizationId))) if (!Cart::getNbProducts((int)(self::$cart->id))) { self::$cart->id_carrier = 0; self::$cart->gift = 0; self::$cart->gift_message = ''; self::$cart->update(); } } } $discounts = self::$cart->getDiscounts(); foreach($discounts AS $discount) { $discountObj = new Discount((int)($discount['id_discount']), (int)(self::$cookie->id_lang)); if ($error = self::$cart->checkDiscountValidity($discountObj, $discounts, self::$cart->getOrderTotal(true, Cart::ONLY_PRODUCTS), self::$cart->getProducts())) { self::$cart->deleteDiscount((int)($discount['id_discount'])); self::$cart->update(); $errors[] = $error; } } if (!sizeof($this->errors)) { $queryString = Tools::safeOutput(Tools::getValue('query', NULL)); if ($queryString AND !Configuration::get('PS_CART_REDIRECT')) Tools::redirect('search.php?search='.$queryString); if (isset($_SERVER['HTTP_REFERER'])) { // Redirect to previous page preg_match('!http(s?)://(.*)/(.*)!', $_SERVER['HTTP_REFERER'], $regs); if (isset($regs[3]) AND !Configuration::get('PS_CART_REDIRECT') AND Tools::getValue('ajax') != 'true') Tools::redirect($_SERVER['HTTP_REFERER']); } } } if (Tools::getValue('ajax') != 'true' AND !sizeof($this->errors)) Tools::redirect('order.php?'.(isset($idProduct) ? 'ipa='.(int)($idProduct) : '')); } } } } - Pour Prestashop 1.5 essayer ça : Mettre tout ça dans /override/controllers/front/CartController.php <?php class CartController extends CartControllerCore { public $php_self = 'cart'; protected $id_product; protected $id_product_attribute; protected $id_address_delivery; protected $customization_id; protected $qty; protected $ajax_refresh = false; public function postProcess(){ $actual_cart = $this->context->cart->getProducts(true); // Update the cart ONLY if $this->cookies are available, in order to avoid ghost carts created by bots if ($this->context->cookie->exists() && !$this->errors && !($this->context->customer->isLogged() && !$this->isTokenValid())) { if (Tools::getIsset('add') && $actual_cart[0]['cart_quantity'] < '1' || Tools::getIsset('update') && $actual_cart[0]['cart_quantity'] < '1' || Tools::getIsset('add') && Tools::getIsset('op') == 1) $this->processChangeProductInCart(); else if (Tools::getIsset('delete')) $this->processDeleteProductInCart(); else if (Tools::getIsset('changeAddressDelivery')) $this->processChangeProductAddressDelivery(); else if (Tools::getIsset('allowSeperatedPackage')) $this->processAllowSeperatedPackage(); else if (Tools::getIsset('duplicate')) $this->processDuplicateProduct(); if (Tools::getIsset('add') && $actual_cart[0]['cart_quantity'] > '0' || Tools::getIsset('update') && $actual_cart[0]['cart_quantity'] > '0') $this->errors[] = Tools::displayError('Il y a deja un produit dans votre panier.'); // Make redirection if (!$this->errors && !$this->ajax) { $queryString = Tools::safeOutput(Tools::getValue('query', null)); if ($queryString && !Configuration::get('PS_CART_REDIRECT')) Tools::redirect('index.php?controller=search&search='.$queryString); // Redirect to previous page if (isset($_SERVER['HTTP_REFERER'])) { preg_match('!http(s?)://(.*)/(.*)!', $_SERVER['HTTP_REFERER'], $regs); if (isset($regs[3]) && !Configuration::get('PS_CART_REDIRECT')) Tools::redirect($_SERVER['HTTP_REFERER']); } Tools::redirect('index.php?controller=order&'.(isset($this->id_product) ? 'ipa='.$this->id_product : '')); } } elseif (!$this->isTokenValid()) Tools::redirect('index.php'); } } Cordialement l'équipe Aduler.com
  12. Bonjour C&P, voici les réponses. Ce module est bien compatible Prestashop V1.4.x et V1.5.x C'est au choix, le module lui récupère tous les modules de paiement actifs et paramétrés, ensuite c'est une question de choix, si vous choisissez un module de paiement dit " à paiement immédiat " ex : Module de votre Banque avec un contrat VAD classique. Module PayPal livré d'office avec Prestashop (idem pour hipay, Ogone...) Alors dans votre schéma d'abonnement il sera plus logique de faire des abonnements dit "One shot", c'est-à-dire que le client va payer l'intégralité des mensualités pour un nombre de mois donné. (ex : Je m'abonne pour 6mois à 120€, soit 20€ par mois) Si vous choisissez un module de paiement récurent ( on ponctionne chaque moi une somme au client automatiquement) ex : Module PayPal Abonnements (en US : Paypal Subscriptions) ce module-là permet entre autre de mettre un bouton "se désabonner" pour les clients, il y en a d'autres des modules PayPal, mais celui-là à l'avantage de communiquer avec le module de gestion des abonnements sur Prestashop (en US : Subscriptions manager on Prestashop) on pourra donc contrôler si le bouton désabonner s'affiche ou pas par exemple. Module de votre Banque, mais avec un contrat VAD spéciale récurrente ( le TPE est donc un TPE à paiement récurent) Autres modules à paiement récurent, par exemple nous avons développer pour un client un module sur mesure pour gérer la récurrence via Hipay, car PayPal ne desservait pas son pays. Personnellement je ne connais pas Bluepaid, mais cela ressemble fort à un partenaire de paiement comme Ogone, PayPal, paybox... donc regarder ce qu'ils proposent comme mode de paiement (immediat, recurrent) et surtout si des modules existent que gèrent-ils uniquement le mode récurrent, uniquement le mode paiement immédiat ou pourquoi pas les deux. Si rien de tout cela ne vous conviens demandez-nous ou à toute autre société spécialisé dans la mise en place d'abonnements. Pas dans notre dernière version du module, et c'est bien mieux comme cela, car nous passons maintenant par l'API : "Recurring Payments Profile with Express Checkout" de PayPal. Il est nécessaire aussi que le vendeur dispose d'un compte PayPal business. Je vois difficilement comment cela serait possible, car il faut que le module écoute l'IPN Paypal, mais surtout tu risques de ne plus avoir tes informations sur le panier... perso je pense que c'est mort. Cordialement l'équipe Aduler.com
  13. De mémoire il existe des modules de gestion d'articles et de catégorie qui permettent des opérations plus avancées, regarde dans le forum et dit nous si tu trouves quelque chose sinon j’essaierais de vois se que je peu faire pour toi.
  14. Bonjour, avec la dernière version du module c'est tout à fait possible, voici les démarches, pas à pas. 1 - Crée 1 groupe d'utilisateur que vous allez normé par exemple " groupe abonné ". 2 - Crée vos catégories, mais qui ne son accessible qu'aux utilisateurs de se groupe dans l'édition des catégories il y à cette option "Accès pour le groupe : ", si toutefois vous voulez que les produits restent visibles, mais non achetables par les "non abonnés" il y a cette astuce : dupliquez vos catégories en les affichant cette fois si que pour le groupe " visiteur " avec les mêmes produits et pour chaque produit dans l'édition ceux-ci décoché " disponible à la vente ". 3 - dans le module de gestions des abonnements, à la création de votre schéma d'abonnement choisissez affilier les abonnés au groupe " groupe abonné ". Et c'est fini En résumé, de cette façon les clients qui achètent le droit de devenir abonnés passent automatiquement sur le groupe " groupe abonné " le temps de leur abonnement et pendant ce temps ils peuvent allez sur la/les catégorie(s) des produits achetables, une fois que les clients ne son plus abonnées ou pour les " visiteurs " ils ne verront que la/les catégorie(s) avec les produits qui ne sont pas achetables. Cordialement l'équipe Aduler.com
×
×
  • Create New...