Comment obtenir des «éléments de campagne vides» dans Commerce, comme Ubercart?

8

Dans Ubercart, il existe une petite fonctionnalité pour ajouter des "éléments de campagne vides" à une commande créée par l'administrateur. Cela a permis à un administrateur d'entrer manuellement un titre personnalisé pour l'élément de campagne et un montant personnalisé. Vous permettant essentiellement d'ajouter des éléments de campagne sans passer par le processus de création d'un produit, puis de le joindre à la commande. Très utile pour créer des factures pour des services personnalisés. Existe-t-il un moyen d'obtenir cette fonctionnalité dans Drupal Commerce?

Voici à quoi cela ressemble et fonctionne dans Ubercart:

entrez la description de l'image ici

entrez la description de l'image ici

entrez la description de l'image ici

Nigel Waters
la source

Réponses:

3

Je viens de créer et de soumettre un module qui pourrait répondre à vos besoins. Il est actuellement en sandbox . Faites le moi savoir!

Tyler Pepper
la source
1
Le module est actuellement actif: élément de base Commerce
Tyler Pepper
5

Dans Drupal Commerce, nous avons pris la décision d'ajouter des rappels dépendants du type d'élément de ligne à l'API d'élément de ligne. Un élément de ligne de produit fonctionnera différemment d'un élément de ligne d'expédition fonctionnera ... etc. En tant qu'effet secondaire, cela signifie qu'il n'y a rien de tel qu'un élément de ligne "générique", tout comme il n'y a rien de tel qu'un nœud sans type .

Ce qui doit arriver, s'il n'existe pas déjà, est qu'un petit module contrib puisse être créé qui ajoute un type d'élément de campagne de base dont le "formulaire d'ajout d'élément de campagne" dans la page de modification de la commande vous permet de spécifier toutes les informations nécessaires pour gérer et afficher cet élément de campagne. Là où ça va tomber, il y a des choses comme les règles de tarification - ces éléments de campagne devraient-ils avoir des taxes? D'autres rabais devraient-ils s'appliquer? Ou afficher des règles - celles-ci doivent-elles apparaître sur les pages de commande client?

Il n'y a pas une telle fonctionnalité dans le noyau (comme vous pouvez le voir, ce serait une petite contribution, mais ce ne serait pas trivial à faire), mais si elle était testée et prouvée comme concept dans contrib, je ne vois pas pourquoi nous ne pouvions pas l'envisager pour l'inclusion dans Commerce 2.x.

Ryan Szrama
la source
Alors, comment votre module de produit personnalisable Commerce permet-il à un administrateur de définir les éléments personnalisables dont le produit a besoin lorsqu'il l'ajoute à une commande créée par l'administrateur?
Nigel Waters
Je viens d'essayer de le faire en créant un élément de campagne personnalisé avec Commerce Customizable Product. Définir ensuite un champ de texte pour l'entrée utilisateur (en théorie, cela pourrait être une description du service personnalisé). Puis créé un produit personnalisé générique. Cependant, il semble que l'ajout du produit à une commande créée par l'administrateur fasse référence à l'entité du produit et non à l'affichage du nœud, par conséquent, un administrateur ne peut pas saisir de texte dans ce champ. Essentiellement, il semble que si vous avez un produit personnalisable, vous ne pouvez pas avoir quelque chose comme un téléphone dans l'ordre et laisser un administrateur le créer. Cela doit être fait via le processus d'ajout au panier.
Nigel Waters
Il me semble que le champ Éléments de campagne de l'entité de commande doit être une référence de nœud plutôt qu'une référence d'élément de ligne avec un formulaire d'ajout au panier modifié.
Nigel Waters
une réponse à cela?
Nigel Waters
Je ne suis pas sûr de ce que ferait une référence de nœud ici - il y a une entité d'élément de ligne, et c'est ce qui est référencé. Commerce Customizable Products fonctionne en héritant des rappels du type d'élément de ligne de produit principal. Il vous permet de créer de nouveaux types d'élément de ligne de produit dans les cas où vous avez besoin de différents types d'élément de ligne pour contenir différents champs. Le module lui-même ne définit aucun de ces rappels ou composants d'interface utilisateur; il utilise simplement ce qui se trouve dans le module Product Reference.
Ryan Szrama
0

Une solution pourrait être de créer un produit générique et d'utiliser des produits personnalisables Commerce . Voici un extrait à ce sujet de la page projet du module:

Drupal Commerce vous permet de vendre des produits personnalisables qui nécessitent la participation des clients lorsqu'ils sont ajoutés au panier. Les cas d'utilisation de cette fonctionnalité incluent:

  • Cartes de visite qui nécessitent des informations de contact et un téléchargement de logo.
  • Inscriptions à des événements nécessitant des informations sur les participants.
  • Les dons permettent au client de spécifier un montant de don.

Qu'en pensez-vous?

FiNeX
la source
C'est comme je l'ai suggéré ci-dessus dans mon commentaire à @Ryan Szrama, mais la partie personnalisable du produit n'est pas exposée à une commande créée par l'administrateur.
Nigel Waters