मैं विभिन्न एमवीसी ढांचे (जैसे सिम्फनी) से Magento तक आ रहा हूं। मैंने Magento सर्वोत्तम प्रथाओं के बारे में बहुत कुछ पढ़ा और मैं देख सकता हूं कि Magento ठेठ एमवीसी शैली का उपयोग नहीं करता है।Magento - ब्लॉक में रूपों को संभालने का सबसे अच्छा तरीका?
यह नहीं देखने के लिए चर सेट करने के लिए नियंत्रक की जिम्मेदारी [...] नियंत्रक का काम मॉडल करने के लिए कुछ काम करने के लिए है, और तो यह लेआउट प्रतिपादन है प्रणाली बता: एलन तूफान निम्नलिखित लिखा था पहर।
मुझे लगता है कि मैं इस दृष्टिकोण को समझता हूं क्योंकि यह ब्लॉक के लिए एक प्रकार की लचीलापन प्रदान कर सकता है।
दाएं। लेकिन रूपों के बारे में क्या?
एक विशिष्ट एमवीसी ढांचे में आपको नियंत्रक में अनुरोध पैरामीटर मिलेंगे, नियंत्रक में फॉर्म डेटा मान्य करेंगे, मॉडल ऑपरेशन (सेव, लोड इत्यादि) या फिर आवश्यक होने पर पुनर्निर्देशन करें, और जब सब कुछ साफ और साफ हो, आप दृश्य के लिए ताजा बेक्ड आउटपुट टुकड़े प्रदान करेंगे।
Magento में इन सभी को एक ब्लॉक के अंदर होना चाहिए और (पतला) नियंत्रक केवल लेआउट तैयार करना है और फिर इसे प्रस्तुत करना है। (अगर मैं समझता हूं।)
मैंने एक लेख (मैनुअल, फोरम विषय, कुछ भी) खोजने की कोशिश की, जो एक अलग मॉड्यूल के साथ एक अलग मॉड्यूल के निर्माण चरणों का वर्णन करता है, जो अग्रभाग में एक रूप के माध्यम से संपादन योग्य हो सकता है उपयोगकर्ता द्वारा मैं देखना चाहता हूं कि फ्रंटएंड में कस्टम फॉर्म कैसे काम करना चाहिए। मुझे ब्लॉक, फॉर्म, संशोधित करने या adminhtml रूपों को बनाने या संपर्क या न्यूजलेटर साइनअप फ़ॉर्म को कस्टमाइज़ करने के बारे में केवल सामान्य लेख मिल गए हैं।
मैंने इसे बनाया। यह अब काम करता है, लेकिन मैं संतुष्ट नहीं हूँ। तो फिर, मैंने कोर मॉड्यूल में संपर्क फ़ॉर्म के स्रोत कोड की जांच की, और उन लोगों ने मेरे लिए पूरी तस्वीर को गड़बड़ कर दिया। अंतर्निहित संपर्क फ़ॉर्म उपर्युक्त परिचालनों में से अधिकांश में इंडेक्स कंट्रोलर का उपयोग करता है, (लगभग) मानक एमवीसी की तरह।
क्या कोई मुझे सबसे अच्छा अभ्यास सुझा सकता है, निम्न प्रकार का सरल प्रवाह कैसे प्रबंधित करें? (मैं इन नीचे के लिए एक समाधान मिल गया है, लेकिन मुझे यकीन है कि नहीं हूँ, यह है कि "सही Magento रास्ता"):
- जब पृष्ठ लोड हो तो एक ब्लॉक में एक रूप है, जो में शामिल है दिखाने अलग पेज
- लोड डीबी से एक मॉडल वस्तु के रूप में
- आबाद वस्तु डेटा एक अनुरोध पैरामीटर द्वारा
- उपयोगकर्ता फार्म, प्रक्रिया प्रपत्र डेटा, सबमिट करता है उन्हें
- मान्य सत्यापन त्रुटि दिखाते हैं तो फिर से फॉर्म, और त्रुटि संदेश पॉप अप
- I च ठीक है, डीबी में डाटा स्टोर, दिखाने के एक धन्यवाद पृष्ठ
मेरे भ्रम की स्थिति मुख्य रूप से चारों ओर है:
- मैं कहां से मिलता है और अनुरोध पैरामीटर का प्रबंधन करना चाहिए? (मैंने इसे ब्लॉक क्लास फ़ाइल में किया था)
- और डीबी से ऑब्जेक्ट लोड करें, इसके आधार पर? (इसके अलावा, और उसके बाद PHP को पास किया गया)
- इसे देखने के लिए कैसे करें, अगर मैं इसे लोड नहीं करता हूं? (मुझे एक रास्ता पता होगा, लेकिन मुझे सबसे अच्छा तरीका नहीं पता।)
- (POST) फॉर्म डेटा को संसाधित, मान्य और संग्रहीत किया जाना चाहिए? (ब्लॉक?)
- मैं ब्लॉक में ठीक से पुनर्निर्देशन का उपयोग कैसे कर सकता हूं? क्या मुझे पुनर्निर्देशन की आवश्यकता है, क्योंकि धन्यवाद पृष्ठ एक अलग ब्लॉक/पृष्ठ होना चाहिए? या सिर्फ एक ही ब्लॉक के एक alternativ (सशर्त) देखो?
धन्यवाद स्लेयर, मुझे यही संदेह है। ऐसा लगता है कि ज्यादा समझ में आता है! मैं उपरोक्त आपके सभी तर्कों से सहमत हूं। मैंने अपने एमवीसी ज्ञान के आधार पर कुछ ऐसा ही माना। मैं उन कोर कोड की जांच करूंगा। बहुत सराहना की! –