मॉड्यूल विन्यास भंडारण
परिचय
इस श्रृंखला के तीसरे भाग में हम हम कैसे Prestashop डेटाबेस में हमारे मॉड्यूल के लिए कॉन्फ़िगरेशन डेटा स्टोर कर सकते हैं देखो, और हम यह करने के लिए उपयोगकर्ताओं के व्यवहार पर नियंत्रण मॉड्यूल डेटा के साथ बातचीत करने के लिए अनुमति दे सकते हैं कि कैसे. हम भी संक्षेप में कैसे हम अपने उत्पादन मॉड्यूल से उत्पन्न करने के लिए विन्यास बदलाव का दृश्य फीडबैक प्रदान कर सकते हैं पर छू जाएगा.
प्रयोक्ता सेटिंग्स के प्रबंध
हम इस मॉड्यूल "TutorialSecond" इसलिए हम फिर से एक नए मॉड्यूल निर्देशिका और फाइल वर्ग बनाने के लिए - जो "" tutorialsecond और "क्रमशः tutorialsecond.php नाम दिया जाएगा जरूरत फोन जा रहे हैं. वर्ग फ़ाइल (tutorialsecond.php) निम्नलिखित को शामिल करना चाहिए:
<? Php
वर्ग Tutorialsecond मॉड्यूल फैली
(
निजी $ _html ='';
समारोह (__construct)
(
इस-> $ नाम = 'tutorialsecond';
: माता - पिता: __construct ();
इस-> $ टैब '= eCartService.net Tutorials';
इस-> $ संस्करण .1.0 = '0 ';
इस-> $ = $ इस-> (एल displayName 'दूसरा ट्यूटोरियल मॉड्यूल');
इस-> $ = $ इस-> l वर्णन ('हमारी दूसरी मॉड्यूल - एक "दुनिया" नमस्ते redux)';
)
सार्वजनिक समारोह (getContent)
(
)
निजी समारोह (_displayForm)
(
)
)
/ / के अंत: tutorialsecond.php आप देखेंगे कि हम दो नए सदस्य: कार्य: getContent () और:: _displayForm () कार्यान्वित की हैं. यदि आप अपने सर्वर से फ़ाइल अपलोड करें और इस स्तर पर इस मॉड्यूल स्थापित करने के लिए आप मॉड्यूल की सूची में एक नया विकल्प स्क्रीन के लिए देखना चाहिए 'दूसरा ट्यूटोरियल मॉड्यूल. अब वहाँ एक मॉड्यूल प्रविष्टि में ">> कॉन्फ़िगर" लिंक होगा, हालांकि यह केवल एक खाली पृष्ठ पिछला कार्यालय लौटेगा क्लिक. :: getContent () सदस्य समारोह इसके लिए जिम्मेदार है की उपस्थिति के रूप में यह हमारे मॉड्यूल और पिछला कार्यालय के बीच इंटरफेस प्रदान करता है.
इन दो नए कार्य हम के अलावा भी _html $ निजी सदस्य चर, जो हम बाद में इस लेख में उपयोग करने के लिए वापस कार्यालय में प्रदर्शन के लिए आवश्यक उत्पादन का निर्माण होगा जोड़ा.
भंडारण और विन्यास डेटा पुनःप्राप्त
Prestashop एक "विन्यास" वर्ग जो कई सदस्य कार्यों प्रदान करता है कॉन्फ़िगरेशन डेटा हेरफेर प्रदान करता है, लेकिन दो प्रमुख कार्य करता है कि सबसे अधिक हो जाएगा उपयोग किया जाता है:
: विन्यास: updateValue कुंजी ($, $ मूल्यों, html $ = झूठी);
: विन्यास: ($ कुंजी पाने के लिए, $ id_lang रिक्त =);
: विन्यास: updateValue () समारोह में हमें कई भाषाओं में वैकल्पिक (डेटाबेस में एक विन्यास विकल्प को स्टोर करने के लिए जो मामले में $ पैरामीटर मान एक सरणी) हो जाएगा और विन्यास:: () समारोह में मिल हमारे कॉन्फ़िगरेशन डेटा पुनः प्राप्त करने की अनुमति देता है की अनुमति देता है किसी चयनित डिफ़ॉल्ट भाषा या दुकान के लिए. हम पैरामीटर है कि अब के लिए डिफ़ॉल्ट मान की उपेक्षा की है, लेकिन विन्यास में html $ पैरामीटर फिर से आना होगा:: updateValue () समारोह में अगले लेख में जब हम फार्म का सत्यापन के विषय को देखो.
स्क्रीन कॉन्फ़िगर क्रियान्वयन
हमारे स्रोत फ़ाइल में हम एक निजी सदस्य समारोह _displayForm () बनाया. यह पूरी तरह से अंतरफलक कोड के सभी के रूप में वैकल्पिक है getContent () सदस्य समारोह में रखा जा सकता है, हालांकि यह काफी अनुशंसित है कि आप आसानी से कोड के रखरखाव के लिए इस बाहर अलग. हम इस समारोह के भीतर से एक साधारण से फ़ॉर्म जिसके साथ हम दुकान के मालिक इनपुट कब्जा कर सकते हैं पैदा हो जाएगी.
निजी समारोह (_displayForm)
(
इस-> $ _html .= '
action="'.$_SERVER['REQUEST_URI'].'" method="post"> <form
<label> '. इस-> $ (' दुनिया के लिए संदेश').'</ l लेबल>
<div class="margin-form">
<input type="text" name="our_message" />
</ Div>
<input name="submit" value="'.$this-> (एल 'अपडेट').'" type="submit" वर्ग = "बटन" />
</> फार्म ';
) आप देख सकते हैं कि:: _displayForm () समारोह में केवल हमारे _html $ सदस्य चर करने के लिए फार्म $ _SERVER ['REQUEST_URI] किया जा रहा लक्ष्य के साथ मानक HTML फार्म कोड जोड़ता है. है Prestashop पिछला कार्यालय वास्तुकला यह हमारे लिए हमारे: getContent वर्ग सदस्य समारोह के लिए मार्ग संभाल करने के लिए, जब प्रपत्र तैनात है.
हम अगले करने के लिए कोड जोड़ने की जरूरत है हमारे: getContent () के लिए वास्तव में प्रपत्र का प्रदर्शन और फार्म जमा संभाल समारोह.
सार्वजनिक समारोह (getContent)
(
अगर (उपकरण:: isSubmit ('submit'))
(
: विन्यास: (इस-> $ updateValue नाम '. _message', उपकरण:: getValue ('our_message'));
)
इस-> $ _displayForm ();
इस वापसी-> $ _html;
) :: GetContent () समारोह में पहले एक और Prestashop वर्ग का उपयोग करता है "" उपकरण परीक्षण करने के लिए कि क्या हम फार्म, इस समारोह का एक और तरीका यानी "" कॉन्फ़िगर में लिंक पर एक क्लिक में बुलाया जा रहा है या पद से कार्रवाई संभाल रहे हैं मॉड्यूल सूची - पैरामीटर नाम हम हमारी "के रूप में अद्यतन" बटन को दे दिया है.
यदि समारोह पिछला (कार्यालय द्वारा किया जा रहा है सीधे बुलाया में जो मामले: उपकरण: isSubmit (submit '') वापसी झूठी) होगा, तो हम समारोह हम ऊपर बनाया है और उत्पादन में लौटने के लिए, में कब्जा कर लिया प्रतिपादन फार्म कॉल इस $- > प्रदर्शन के लिए पिछला कार्यालय को _html चर,.
यदि समारोह हमारे फार्म का एक परिणाम के रूप में बुलाया जा रहा है तैनात किया जा रहा है तो हम मान के साथ डेटाबेस में हमारे विन्यास पैरामीटर की दुकान हमारे फार्म पर दर्ज किया जा सकता है. हम फिर उपकरण वर्ग का उपयोग करने के फार्म का चर के मूल्य प्राप्त करने के लिए उपकरण करने के लिए फोन का उपयोग करते हुए:: getValue ('our_message)' जहां 'our_message हमारी रूप में इनपुट क्षेत्र का नाम है.
आपको लगता है कि मैं विन्यास आइटम के नाम के शुरुआत करने के लिए हमारी मॉड्यूल का नाम जोड़ लिया है देख - यह सुनिश्चित करना है कि इन विन्यास कुंजी चाबी के लिए namespace के रूप में अद्वितीय है पूरी की दुकान के लिए साझा किया जाता है सकते हैं.
एक बार जब हम अपने विन्यास प्रपत्र डेटा संग्रहीत हैं फिर से, प्रदर्शित की जाती है और इनपुट के लिए तैयार है, यदि आवश्यक.
एक पृष्ठ पर आउटपुट मॉड्यूल
अब हम की दुकान के मालिक से इनपुट पर कब्जा करने का एक तरीका है और यह डेटाबेस में बचत है, तो अगले कदम स्पष्ट करने के लिए इसके साथ कुछ करना जैसे यह एक पृष्ठ पर प्रदर्शित किया जाएगा. श्रृंखला के बारे में हम बात के भाग 1 में "कार्यक्षमता जोड़ने मॉड्यूल के संबंध में हुक. आदेश में यह हमें बताना है कि हमारे prestashop मॉड्यूल मोर्चा कार्यालय में हुक करने के लिए की तरह है और हम इस निम्नलिखित समारोह (मॉड्यूल आधार वर्ग में परिभाषित) का उपयोग करना होगा की जरूरत का उपयोग करने के लिए:
इस-> $ registerHook ($ hook_name);
$ Hook_name पैरामीटर एक विभिन्न अंक के लिए संदर्भित करता है कि Prestashop मुख्य मॉड्यूल डालें और उत्पादन करने के लिए / या डाटा प्रोसेसिंग, लेकिन अब के लिए हम विशेष रूप से - एक का उपयोग करेगा की अनुमति देता है "leftColumn 'है, जो हमें बाएँ कॉलम में सामग्री जोड़ने के लिए अनुमति देता है सभी पृष्ठों की. आदेश में हुक हम अपने ही वर्ग में निम्नलिखित नई ओवरराइड जोड़ने की जरूरत को आरंभीकृत करने के लिए:
सार्वजनिक समारोह में स्थापित ()
(
: माता - पिता: स्थापित ();
(इस-> $ registerHook अगर! ('LeftColumn))
वापसी झूठी;
) यह बताता है Prestashop मॉड्यूल हुक हमारे निष्पादित करने के लिए जब यह सभी पृष्ठों के बाएँ स्तंभ के लिए सामग्री प्रतिपादन है. हम अगले करने के लिए एक हुक संभाल callback समारोह को जोड़ने की जरूरत है. सम्मेलन Hook "हुक से पहले नाम के रूप में समारोह का नाम है:
सार्वजनिक समारोह (hookLeftColumn)
(
'वापसी <div class="block">' <h4>. : विन्यास: (इस-> $ नाम है. मिल '_message'). </> H4 '</> div';
)
हमारी सरल उदाहरण में हम सिर्फ कुछ मानक HTML मार्कअप में हमारे विन्यास पैरामीटर लपेटकर रहे हैं कि इसे सही ढंग से हमारे पृष्ठ पर प्रदर्शित होता है तो.
यदि आप पहले मॉड्यूल अब तुम फिर स्थापना हटाने के लिए यह सुनिश्चित करें कि सही ढंग से हुक Prestashop कोर के साथ पंजीकृत है reinstall चाहिए स्थापित किया है. अब आप मॉड्यूल - जैसे 'हैलो' विश्व, और यह अपने स्टोर के बाएँ कॉलम में एक बॉक्स के शीर्षक के रूप में उत्पादन किया जाएगा के लिए विन्यास स्क्रीन में एक मान दर्ज कर सकते हैं. दूसरा उदाहरण के लिए पूर्ण कोड अब की तरह दिखना चाहिए:
<? Php
वर्ग Tutorialsecond मॉड्यूल फैली
(
निजी $ _html ='';
समारोह (__construct)
(
इस-> $ नाम = 'tutorialsecond';
: माता - पिता: __construct ();
इस-> $ टैब '= eCartService.net Tutorials';
इस-> $ संस्करण .1.0 = '0 ';
इस-> $ = $ इस-> (एल displayName 'दूसरा ट्यूटोरियल मॉड्यूल');
इस-> $ = $ इस-> l वर्णन ('हमारी दूसरी मॉड्यूल - एक "दुनिया" नमस्ते redux)';
)
सार्वजनिक समारोह में स्थापित ()
(
: माता - पिता: स्थापित ();
(इस-> $ registerHook अगर! ('LeftColumn))
वापसी झूठी;
)
सार्वजनिक समारोह (getContent)
(
अगर (उपकरण:: isSubmit ('submit'))
(
: विन्यास: (इस-> $ updateValue नाम '. _message', उपकरण:: getValue ('our_message'));
)
इस-> $ _displayForm ();
इस वापसी-> $ _html;
)
निजी समारोह (_displayForm)
(
इस-> $ _html .= '
action="'.$_SERVER['REQUEST_URI'].'" method="post"> <form
<label> '. इस-> $ (' दुनिया के लिए संदेश').'</ l लेबल>
<div class="margin-form">
<input type="text" name="our_message" />
</ Div>
<input name="submit" value="'.$this-> (एल 'अपडेट').'" type="submit" वर्ग = "बटन" />
</> फार्म ';
)
सार्वजनिक समारोह (hookLeftColumn)
(
'वापसी <div class="block">' <h4>. : विन्यास: (इस-> $ नाम है. मिल '_message'). </> H4 '</> div';
)
)
/ / के अंत: tutorialsecond.php सारांश
इस अनुच्छेद में हम हमारा पहला मॉड्यूल विस्तार के लिए एक मूलभूत विन्यास के रूप में शामिल किया है और एक हुक समारोह का इस्तेमाल अपने पृष्ठों के बाएँ कॉलम में अपने उत्पादन मॉड्यूल से प्रदर्शित करते हैं. इस श्रृंखला के अगले भाग में हम कुछ है कि एक वास्तविक मॉड्यूल के कार्यान्वयन में इस्तेमाल किया जा सकता है विन्यास सुविधा में सुधार दिखेगा. इस प्रपत्र में उपयोगकर्ता इनपुट को मान्य शामिल हैं, पूर्व के रूप में प्रपत्र फ़ील्ड्स populating जाएगा उपयुक्त मौजूदा विन्यास पर आधारित है और मॉड्यूल त्रुटियों और पिछला कार्यालय स्क्रीनों में चेतावनी प्रदर्शित.