2011-06-26 18 views
5

Estoy intentando vincular un tipo de producto de Commerce a mi propio nodo de tipo personalizado (que sirve como un nodo de visualización). El objetivo es ingresar nuevos datos en el menor número de lugares posible. Por lo tanto, estoy explorando una creación basada en reglas de un tipo sobre la creación del otro. Parece que ambas direcciones están funcionando. De los dos, sin embargo, prefiero la creación automática de un producto de comercio cuando el usuario crea un nodo de tipo personalizado, que luego servirá como una exhibición del producto.Creación de nodos basada en reglas: producto comercial + conjunto de nodos de visualización de productos

Me preguntaba si alguien ha pasado por esta elección y podría recomendar esto. Además, ¿es necesario el módulo commerce_product_display_manager?

Respuesta

2

Commerce Product Display Manager no es necesario, he conseguido que esto funcione y nunca he usado ese módulo.

Fui por la ruta de crear automáticamente un nodo después de guardar el producto.

A continuación es mi Reglas de exportación para esto:

{ "rules_create_product_display" : { 
    "LABEL" : "Create Product Display", 
    "PLUGIN" : "reaction rule", 
    "REQUIRES" : [ "rules", "entity" ], 
    "ON" : [ "commerce_product_insert" ], 
    "IF" : [ 
     { "data_is" : { "data" : [ "commerce-product:type" ], "value" : "**PRODUCT_TYPE**" } } 
    ], 
    "DO" : [ 
     { "entity_create" : { 
      "USING" : { 
      "type" : "node", 
      "param_type" : "**NODE_TYPE**", 
      "param_title" : "[commerce-product:title]", 
      "param_author" : [ "commerce-product:creator" ] 
      }, 
      "PROVIDE" : { "entity_created" : { "entity_created" : "Created entity" } } 
     } 
     }, 
     { "data_set" : { 
      "data" : [ "entity-created:**PRODUCT_REFERENCE**" ], 
      "value" : [ "commerce-product" ] 
     } 
     } 
    ] 
    } 
} 

Tendrá que sustituir sus propios valores para:

  • PRODUCT_TYPE (tipo de producto que se ha creado)
  • (siendo creado tipo de nodo) NODE_TYPE
  • PRODUCT_REFERENCE (campo que hará referencia al producto creado)

Siento no poder dedicar más tiempo a una mejor respuesta ahora, que me haga saber si me gustaría dar más detalles sobre el proceso de creación de los anteriores mediante la GUI

2

el ejemplo anterior era útil, pero aquí hay una más específica uno:

{ "rules_create_product_display_on_product_creation" : { 
    "LABEL" : "Create Product Display on Product creation", 
    "PLUGIN" : "reaction rule", 
    "REQUIRES" : [ "rules", "entity" ], 
    "ON" : [ "commerce_product_insert" ], 
    "IF" : [ 
     { "entity_is_of_type" : { "entity" : [ "commerce-product" ], "type" : "commerce_product" } } 
    ], 
    "DO" : [ 
     { "entity_create" : { 
      "USING" : { 
      "type" : "node", 
      "param_type" : "product_display", 
      "param_title" : "[commerce-product:title]", 
      "param_author" : [ "commerce-product:creator" ] 
      }, 
      "PROVIDE" : { "entity_created" : { "entity_created" : "Created entity" } } 
     } 
     }, 
     { "data_set" : { 
      "data" : [ "entity-created:field-product:0" ], 
      "value" : [ "commerce-product" ] 
     } 
     } 
    ] 
    } 
} 

el único problema que tuve fue con la segunda acción ("data_set") - que era importante para seleccionar "entidad -created: field-product: 0 ", no el" entity-created: field-product "para hacer que wo rk porque queremos asignar un producto específico y no una lista de productos.

Este ejemplo utiliza el tipo de nodo de visualización del producto estándar (product_display) pero puede cambiarlo con el que está utilizando. También tenga en cuenta que esto funciona solo para un tipo de producto; para cada tipo de producto, debe crearse una regla separada. También puede crear una regla para eliminar el nodo de visualización del producto al eliminar el producto. Esta regla es útil solo cuando tiene una pantalla de producto de conexión de producto uno. Si necesita agregar más productos por exhibición de producto (colores, imágenes con diferentes precios), entonces tiene que usar el módulo Commerce Bulk Product Creation.

Cuestiones relacionadas