¿Cómo obtener "líneas de pedido vacías" en Commerce, similar a Ubercart?

8

En Ubercart, hay una pequeña característica para agregar "líneas de pedido vacías" a un pedido creado por el administrador. Esto permitió a un administrador ingresar manualmente un título personalizado para la línea de pedido y una cantidad personalizada. Básicamente, le permite agregar líneas de pedido sin pasar primero por el proceso de creación de un producto y luego adjuntarlo al pedido. Muy útil para crear facturas para servicios personalizados. ¿Hay alguna forma de obtener esta función en Drupal Commerce?

Así es como se ve y funciona en Ubercart:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Nigel Waters
fuente

Respuestas:

3

Acabo de crear y enviar un módulo que puede satisfacer sus necesidades. Actualmente se encuentra en sandbox . ¡Házmelo saber!

Pimienta Tyler
fuente
1
El módulo está ahora activo en ese momento: Comercio Basic Line artículo
Tyler Pimienta
5

En Drupal Commerce, tomamos la decisión de agregar devoluciones de llamada dependientes del tipo de línea de pedido a la API de línea de pedido. Una línea de producto funcionará de manera diferente a una línea de envío funcionará ... etc. Como efecto secundario, esto significa que no existe una línea de pedido "genérica", al igual que no existe un nodo sin tipo .

Lo que debe suceder, si aún no existe, es que se pueda crear un pequeño módulo de contribución que agregue un tipo de elemento de línea básico cuyo "formulario de agregado de elemento de línea" en la página de edición del pedido le permite especificar toda la información necesaria para administrar y mostrar esa línea de pedido. En donde se desglosará hay cosas como reglas de fijación de precios: ¿deberían estas líneas de pedido tener impuestos? ¿Deberían aplicarse otros descuentos? O mostrar reglas: ¿deberían aparecer en las páginas de pedidos del cliente?

No existe tal característica en el núcleo (como puede ver, sería una pequeña contribución, pero no sería trivial de hacer), pero si se probara y probara como un concepto en contrib, no veo por qué no pudimos considerar su inclusión en Commerce 2.x.

Ryan Szrama
fuente
Entonces, ¿cómo le permite su módulo de Producto Personalizable de Comercio a un administrador establecer los artículos personalizables que necesita el producto cuando lo agrega a un pedido creado por el administrador?
Nigel Waters
Acabo de intentar hacer esto creando una línea de pedido personalizada con el producto personalizable de Commerce. Luego, establezca un campo de texto para la entrada del usuario (en teoría, esto podría ser una descripción del servicio personalizado). Luego creó un producto genérico personalizado. Sin embargo, parece que agregar el producto a un pedido creado por el administrador hace referencia a la entidad del producto y no a la visualización del nodo, por lo tanto, un administrador no puede ingresar texto en este campo. Esencialmente parece que si tiene un producto personalizable, entonces no puede tener algo como un teléfono en orden y dejar que un administrador lo cree. Debe hacerse a través del proceso de agregar al carrito.
Nigel Waters
Me parece que el campo de artículos de línea en la entidad de pedido debe ser una referencia de nodo, en lugar de una referencia de artículo de línea con un formulario modificado para agregar al carrito.
Nigel Waters
alguna respuesta a esto?
Nigel Waters
No estoy seguro de lo que estaría haciendo una referencia de nodo aquí: hay una entidad de línea de pedido, y eso es lo que se está haciendo referencia. Commerce Customizable Products funciona heredando las devoluciones de llamada del tipo de línea de pedido del producto principal. Le permite crear nuevos tipos de líneas de productos en los casos en que necesite diferentes tipos de líneas de pedido para contener diferentes campos. El módulo en sí no define ninguna de esas devoluciones de llamada o componentes de la interfaz de usuario; solo usa lo que está en el módulo de Referencia del producto.
Ryan Szrama
0

Tal vez una solución podría ser crear un producto genérico y usar productos personalizables de Commerce . Aquí hay un extracto al respecto de la página del proyecto del módulo:

Drupal Commerce le permite vender productos personalizables que requieren la participación del cliente cuando se agregan al carrito. Los casos de uso para esta funcionalidad incluyen:

  • Tarjetas de visita que requieren información de contacto y una carga de logotipo.
  • Registros de eventos que requieren información de los asistentes.
  • Las donaciones le permiten al cliente especificar un monto de donación.

¿Qué piensa usted acerca de?

FiNeX
fuente
Esto es como sugerí anteriormente en mi comentario a @Ryan Szrama, sin embargo, la parte personalizable del producto no está expuesta a un pedido creado por el administrador.
Nigel Waters