Documentation RBS Change : site de vente de document numérique
-
28/10/2011 11:57 Bonjour,
Je ne parvient pas à comprendre ce qu'il faut définir pour faire fonctionner une boutique de vente de document numérique.
J'ai créé un mode de livraison virtuel, un paiement en ligne CB, un paiement gratuit. Je les ai tous affecté à ma boutique. J'ai mis des filtres sur les paiements (cb=(total<>0); gratuit=(total=0) ).
J'ai créé un rayon et un produit téléchargeable que j'ai affecté à ma boutique.
Lors du test d'une commande, arrivé à l'étape 2 je ne peut pas choisir le mode de livraison. J'ai le message :
"Il n'y a pas de modes de livraison disponibles pour les informations saisie."
Merci de m'indiquer ce qui manque, ça ne doit pas être grand chose, mais je ne trouve pas... -
28/10/2011 12:24 Avez-vous également mis le filtre de livraison en plus des filtres de paiement ?Édité par Gaël Port 28/10/2011 12:24
-
Je n'ai pas mis de filtre sur la livraison car elle s'applique à tout les produits.
J'y avais bien pensé, mais je ne trouve pas un filtre pour les produits virtuels.
De plus, je ne comprend pas dans les filtre la notion de "sur les lignes affectées à un mode de livraison prédéfini".
Cependant, cela me fait penser au cas où l'on serait à mettre en vente des produits physiques. Comment se passe la livraison si l'on mélange des produits virtuels et physiques ?
Merci -
28/10/2011 13:04 En fait il y a deux possibilité pour un filtre de livraison :
1) ne pas cocher la case "spécifique produit" : dans ce cas le mode de livraison sera proposé lors de l'étape de choix du mode de livraison (c'est similaire aux modes de paiement). Ce choix vaudra pour l'ensemble des produits du panier qui n'ont pas de mode de livraison imposé
2) cocher la case "spécifique produit" : dans ce cas ce filtre s'appliquera pour les produits qui ont un mode de livraison prédéfini (il s'agit d'une propriété de la fiche produit qui dit en gros "ce produit doit impérativement être expédié via ce mode")
Ainsi on peut très bien avoir des commandes mixtes entre des produits à transporteur imposé et d'autres où on laisse le choix. De plus, la gestion séparées des filtres pour les deux cas permet de gérer de façon distincte les frais de livraison et conditions d'application selon qu'il s'agit d'un mode imposé ou non.
Dans votre cas il faudra donc affecter le mode de livraison "téléchargement" à chacun de vos produits et déclarer un filtre pour ce mode avec l'option "spécifique produit" cochée.
Pour les produits téléchargeables, le champ spécifiant le mode d'envoi est obligatoire car ils ne peuvent jamais passer par le même mode de livraison que les produits physiques. -
merci, je comprend mieux comment ca fontionne.
J'ai donc mis sur mon mode de Livraison "spécifique produit" et j'ai maintenant dans le cadre "Mode de livraison prédefini" :
"Téléchargement (Offert)" mais aussi "Il n'y a pas de modes de livraison disponibles pour les informations saisie.".
J'ai tout de même le bouton "Continuer". Arrivé à la validation du mode de paiement je revient au panier avec le message "Impossible de créer la commande.".2011-10-28 11:13:44 [WARN] TransactionManager->rollBack called 2011-10-28 11:13:44 [EXCEPTION] ValidationException: modules_order/order -1: Le champ ?shippingModeId? ne peut être vide. #0 <projet home>/repository/framework/framework-3.5.1/persistentdocument/DocumentService.class.php(298): f_persistentdocument_DocumentService->validateDocument(Objec t(order_persistentdocument_order)) #1 <projet home>/repository/framework/framework-3.5.1/persistentdocument/DocumentService.class.php(121): f_persistentdocument_DocumentService->insert(Object(order_pe rsistentdocument_order), '2558') #2 <projet home>/repository/framework/framework-3.5.1/persistentdocument/PersistentDocumentImpl.class.php(750): f_persistentdocument_DocumentService->save(Object(ord er_persistentdocument_order), '2558') #3 <projet home>/repository/modules/order/order-3.5.1/lib/services/OrderService.class.php(639): f_persistentdocument_PersistentDocumentImpl->save('2558') #4 <projet home>/repository/modules/order/order-3.5.1/lib/services/CartService.class.php(831): order_OrderService->createFromCartInfo(Object(order_CartInfo)) #5 <projet home>/repository/modules/order/order-3.5.1/lib/blocks/BlockBillingStepAction.class.php(115): order_CartService->createOrder(Object(order_CartInfo)) #6 <projet home>/repository/modules/website/website-3.5.1/lib/mvc/BlockController.php(626): order_BlockBillingStepAction->executeSelect(Object(website_BlockActionReq uest), Object(website_BlockActionResponse), Object(order_BillingStepBean)) #7 <projet home>/repository/modules/website/website-3.5.1/lib/mvc/BlockController.php(418): website_BlockController->executeAction() #8 <projet home>/repository/modules/website/website-3.5.1/lib/mvc/BlockController.php(234): website_BlockController->processInternal() #9 <projet home>/repository/modules/website/website-3.5.1/lib/services/PageService.class.php(1945): website_BlockController->process(Object(order_BlockBillingStepAct ion), Object(f_mvc_HTTPRequest)) #10 <projet home>/repository/modules/website/website-3.5.1/lib/services/PageService.class.php(1697): website_PageService->populateHTMLBlocks(Object(website_BlockCont roller), Array) #11 <projet home>/repository/modules/website/website-3.5.1/actions/DisplayAction.class.php(80): website_PageService->render(Object(website_persistentdocument_page)) #12 <projet home>/repository/framework/framework-3.5.1/libs/mvc/BaseAction.class.php(339): website_DisplayAction->_execute(Object(Context), Object(ChangeRequest)) #13 <projet home>/repository/framework/framework-3.5.1/libs/mvc/Controller.class.php(147): f_action_BaseAction->execute() #14 <projet home>/repository/framework/framework-3.5.1/libs/mvc/Controller.class.php(475): Controller->forward('website', 'Display') #15 <projet home>/repository/framework/framework-3.5.1/libs/mvc/ChangeController.class.php(64): HttpController->forward('website', 'Display') #16 <projet home>/repository/framework/framework-3.5.1/libs/mvc/ChangeController.class.php(83): controller_ChangeController->doForward('website', 'Display') #17 <projet home>/repository/modules/generic/generic-3.5.1/actions/ViewDetailAction.class.php(43): controller_ChangeController->forward('website', 'Display') #18 <projet home>/repository/framework/framework-3.5.1/libs/mvc/BaseAction.class.php(339): generic_ViewDetailAction->_execute(Object(Context), Object(ChangeRequest)) #19 <projet home>/repository/framework/framework-3.5.1/libs/mvc/Controller.class.php(147): f_action_BaseAction->execute() #20 <projet home>/repository/framework/framework-3.5.1/libs/mvc/Controller.class.php(475): Controller->forward('generic', 'ViewDetail') #21 <projet home>/repository/framework/framework-3.5.1/libs/mvc/ChangeController.class.php(64): HttpController->forward('website', 'ViewDetail') #22 <projet home>/repository/framework/framework-3.5.1/libs/mvc/ChangeController.class.php(83): controller_ChangeController->doForward('website', 'ViewDetail') #23 <projet home>/repository/modules/website/website-3.5.1/actions/UrlForwardAction.class.php(19): controller_ChangeController->forward('website', 'ViewDetail') #24 <projet home>/repository/framework/framework-3.5.1/libs/mvc/BaseAction.class.php(339): website_UrlForwardAction->_execute(Object(Context), Object(ChangeRequest)) #25 <projet home>/repository/framework/framework-3.5.1/libs/mvc/Controller.class.php(147): f_action_BaseAction->execute() #26 <projet home>/repository/framework/framework-3.5.1/libs/mvc/Controller.class.php(475): Controller->forward('website', 'UrlForward') #27 <projet home>/repository/framework/framework-3.5.1/libs/mvc/ChangeController.class.php(64): HttpController->forward('website', 'UrlForward') #28 <projet home>/repository/framework/framework-3.5.1/libs/mvc/ChangeController.class.php(83): controller_ChangeController->doForward('website', 'UrlForward') #29 <projet home>/repository/framework/framework-3.5.1/libs/mvc/Controller.class.php(397): controller_ChangeController->forward('website', 'UrlForward') #30 <projet home>/repository/framework/framework-3.5.1/libs/mvc/ChangeController.class.php(35): HttpController->dispatch() #31 <projet home>/index.php(52): controller_ChangeController->dispatch() #32 {main} 2011-10-28 11:13:44 [WARN] TransactionManager->rollBack called -
28/10/2011 15:02 Effectivement, je viens de tester et j'ai cette exception aussi. J'ai créé le ticket Commande ne contenant que des produits à transporteur forcé en vue de le corriger.
Merci de prendre connaissance et de respecter les règles des forums.

