2011-06-26 22 views
5

मैं एक वाणिज्य उत्पाद प्रकार को अपने स्वयं के कस्टम प्रकार नोड (एक प्रदर्शन नोड के रूप में कार्यरत) में बांधने की कोशिश कर रहा हूं। लक्ष्य जितना संभव हो उतने स्थानों में नए डेटा दर्ज करना है। इसलिए मैं दूसरे के निर्माण पर एक प्रकार के नियम-आधारित निर्माण की खोज कर रहा हूं। ऐसा लगता है कि दोनों दिशाएं काम कर रही हैं। हालांकि, मैं कस्टम टाइप नोड के उपयोगकर्ता निर्माण पर वाणिज्य उत्पाद के स्वचालित निर्माण को प्राथमिकता देता हूं, जो तब उत्पाद प्रदर्शन के रूप में कार्य करेगा।नियम-आधारित नोड निर्माण: वाणिज्य उत्पाद + उत्पाद प्रदर्शन नोड सेट

मैं सोच रहा था कि कोई भी इस विकल्प के माध्यम से रहा है और इसकी अनुशंसा कर सकता है। साथ ही, commerce_product_display_manager मॉड्यूल आवश्यक है?

उत्तर

2

वाणिज्य उत्पाद प्रदर्शन प्रबंधक आवश्यक नहीं है, मुझे यह काम करने के लिए मिला है और मैंने कभी भी उस मॉड्यूल का उपयोग नहीं किया है।

मैं उत्पाद को सहेजने के बाद स्वचालित रूप से नोड बनाने के मार्ग के लिए गया था।

नीचे इस के लिए मेरे नियम निर्यात है:

{ "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" ] 
     } 
     } 
    ] 
    } 
} 

आप के लिए अपने स्वयं के मानों को बदल करना होगा:

  • PRODUCT_TYPE (उत्पाद बना दिया गया है कि प्रकार)
  • NODE_TYPE (नोड प्रकार बनाया जा रहा है)
  • PRODUCT_REFERENCE (क्षेत्र निर्मित उत्पाद दर्शाएंगे कि)

खेद है कि मैं अब एक बेहतर जवाब देने के लिए और अधिक समय नहीं लगा सकता, मुझे पता है अगर तुम मुझे चाहते हैं इसके बाद के संस्करण बनाने की प्रक्रिया पर विस्तृत करने के चलो "इकाई यह महत्वपूर्ण था चयन करने के लिए -

{ "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" ] 
     } 
     } 
    ] 
    } 
} 

समस्या सिर्फ मैं था दूसरा कार्रवाई (" data_set ") के साथ था: जीयूआई

2

ऊपर के उदाहरण उपयोगी था का उपयोग कर, लेकिन यहाँ एक अधिक विशिष्ट एक है -क्रिएटेड: फ़ील्ड-उत्पाद: 0 "," इकाई-निर्मित नहीं: फ़ील्ड-उत्पाद "इसे बनाने के लिए आरके क्योंकि हम विशिष्ट उत्पाद असाइन करना चाहते हैं, न कि उत्पादों की सूची।

यह उदाहरण मानक उत्पाद प्रदर्शन नोड प्रकार (product_display) का उपयोग कर रहा है लेकिन आप इसका उपयोग कर रहे किसी व्यक्ति के साथ बदल सकते हैं। यह भी ध्यान रखें कि यह केवल एक उत्पाद प्रकार के लिए काम कर रहा है - प्रत्येक उत्पाद प्रकार के लिए एक अलग नियम बनाया जाना चाहिए। उत्पाद को हटाते समय आप उत्पाद प्रदर्शन नोड को हटाने के लिए भी एक नियम बना सकते हैं। यह नियम तभी उपयोगी होता है जब आपके पास कनेक्शन एक उत्पाद-एक उत्पाद प्रदर्शन होता है। यदि आपको प्रति उत्पाद प्रदर्शन (रंग, विभिन्न कीमतों वाली छवियों) के अधिक उत्पाद जोड़ने की आवश्यकता है तो आपको Commerce Bulk Product Creation मॉड्यूल का उपयोग करना होगा।