पथौतो का उपयोग किए बिना सामग्री प्रकार के लिए URL उपनाम स्वचालित रूप से कैसे सेट करें? कौन सा हुक लागू करना है?


11

पथौतो सभी सामग्री प्रकारों के लिए आसानी से काम कर सकता है, लेकिन मेरे मामले में मेरे पास केवल एक सामग्री प्रकार URL है जिसे अनुकूलित करने की आवश्यकता है, और मैं पथौतो और टोकन स्थापित नहीं करना पसंद करूंगा।

क्या कोई मुझे सलाह दे सकता है कि मैं कैसे करूं?


2
अपने आप को सिरदर्द से बचाएं और सिर्फ पेटहाटो का उपयोग करें। यह समस्या पहले ही हल हो गई है, इसका समाधान क्यों? पथ्युटो केवल एक प्रदर्शन हिट का कारण बनता है जब आप नोड्स को बचा रहे हैं (और फिर भी, केवल न्यूनतम)।
मैथ्यू शारले

4
क्योंकि कोई पितरौत की तुलना में अच्छे उरोज उत्पन्न कर सकता है और यदि आप सभी को एक या दो प्रकार के उरले उत्पन्न करने हैं, तो आप एक ही हुक को लागू करके दो मॉड्यूल से छुटकारा पा सकते हैं। इसके अलावा, बल्क आयात काफी धीमा है (और यहां तक ​​कि कुछ बिंदु पर व्यक्तिगत रूप से टूट गया है, यह केवल 400 नोड्स के बाद कुछ भी आयात करने से इनकार करता है), जबकि मेरा हल्का क्रोन / बल्क स्क्रिप्ट 500 नोड प्रति सेकंड आयात करने में कामयाब रहा, जो कि 100k होने पर काफी अच्छा है के लिए उपनाम उत्पन्न करने के लिए नोड्स।
वाइल्डपिक्स

जवाबों:


12
/**
 * Implements hook_node_insert()
 */
 function mymodule_node_insert($node) {
   if ($node->type == 'mytype') {
     $node->path['alias'] = 'mytype/' . $node->nid;
   }
 }

इसके अतिरिक्त, आप इस कोड को hook_node_update () में जोड़ सकते हैं


1

पी देखें। प्रो ड्रुपल डेवलपमेंट के 149, हुक_इनर () का उपयोग करते हैं। जब एक नया नोड सहेजा जाता है, तो हुक_इन्टर () कहा जाता है। नोड के सहेजे जाने से पहले नोड की सामग्री के किसी भी कस्टम प्रसंस्करण को संभालने के लिए यह जगह है। पी को भी देखो। 152-156 प्रो ड्रुपल डेवलपमेंट जो सभी अलग-अलग हुक_नोड_xxxx () फ़ंक्शन के बारे में बात करता है।

मुझे लगता है कि पिछले उत्तर में सुझाए गए हुक_नोड_इन्टर () का उपयोग करने से सभी नोड कृतियों में एक हुक लग जाएगा जो एक विशिष्ट सामग्री प्रकार को बदलने की आपकी आवश्यकता को संबोधित नहीं करेगा।


हुक_इन्टर () में रिपोर्ट की गई रिपोर्ट देखें , जिसमें निम्नलिखित वाक्य शामिल हैं: "यह हुक केवल उस मॉड्यूल पर लगाया जाता है जो नोड के सामग्री प्रकार ( hook_node_insert()सभी नोड प्रविष्टि पर कार्य करने के लिए उपयोग) को परिभाषित करता है ।"
kiamlaluno
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.