2017-08-05 4 views
1

J'ai besoin d'avoir plusieurs PDSF en fonction de l'emplacement du client. Je prévois d'ajouter le champ «location» dans «product-option» qui sera disponible pour chaque produit, de sorte qu'un SKU sera disponible pour chaque produit en fonction de l'emplacement. Et je ne veux pas que l'utilisateur choisisse cette option, ce devrait être la valeur par défaut sélectionnée.Comment puis-je avoir MSRP multiple basé sur l'emplacement dans le broadleaf?

Est-ce une bonne façon de le faire, ou s'il vous plaît suggérer une meilleure façon de le réaliser.

Répondre

1

Je pense que cela dépend de la façon dont vos considérations de prix sont éphémères. Si le prix change régulièrement sur la base d'une table de taux (ou quelque chose comme ça), vous pouvez utiliser le service de tarification dynamique, qui vous permettra de modifier la tarification par programme en fonction des règles métier que vous jugez importantes. Commencez par enregistrer votre propre DynamicSkuPricingFilter (c'est-à-dire étendre AbstractDynamicSkuPricingFilter - voir DefaultDynamicSkuPricingFilter) et fournir tous les attributs importants pour la détermination de votre prix. Ensuite, enregistrez votre propre implémentation de DynamicSkuPricingService (voir DefaultDynamicSkuPricingServiceImpl) pour renvoyer la tarification correcte. Je voudrais également envisager d'étendre DiscreteOrderItemImpl avec les informations de localisation afin que vous ayez un enregistrement dans le panier de l'emplacement associé. Sinon, si vous souhaitez avoir une structure de données plus permanente et une intention explicite de l'administrateur pour maintenir ce prix, je suggérerais une nouvelle structure d'entité qui associe un emplacement et un prix simples à votre sku par défaut. Vous devriez pouvoir maintenir cela naturellement dans l'admin en utilisant les annotations @AdminPresentation. Par exemple, considérez une nouvelle collection annotée d'entités "LocationPrice" par une extension personnalisée de SkuImpl. Ensuite, vous utiliseriez toujours la suggestion de tarification dynamique décrite ci-dessus, mais vous fonderiez votre décision sur ces données gérées. Je pense que cela est plus naturel dans le cadre que d'essayer d'utiliser des options et des skus multiples.

Enfin, je suppose que vous utilisez la version communautaire de Broadleaf. Nous remplissons généralement ce type d'exigence en utilisant notre module PriceList commercial, qui est plus riche en fonctionnalités.

+0

merci pour la réponse rapide. Nous n'avons pas besoin de prix dynamiques, nous allons avoir un admin explicite pour maintenir les prix. Je vais essayer, j'espère que ça devrait marcher. Fyi: Nous sommes juste une start-up, nous ne pouvons pas nous permettre de commercialiser maintenant. :) – Jebus