2011-01-07 22 views
5

मैं लॉगिन फॉर्म को गठबंधन करने और Magento में खाता फ़ॉर्म को एक पृष्ठ में बनाने का प्रयास कर रहा हूं। कारण यह है कि मैं बस कम पृष्ठों को बेहतर सोचता हूं। मुझे Magento भ्रमित लगता है और इसके लेआउट और टेम्पलेट सिस्टम की सीमित समझ है। मैंने फैसला किया कि ऐसा करने का सबसे आसान तरीका रजिस्टर खाता पृष्ठ में केवल लॉगिन फॉर्म जोड़ना होगा। मुझे लॉगिन फॉर्म और login.phtml में रजिस्टर फॉर्म और टेम्पलेट/ग्राहक/फॉर्म/में रजिस्टर.फैमेट मिला।Magento लॉगिन और पंजीकरण एक पेज

मैंने लॉगिन.phtml से PHTML कोड को उसी निर्देशिका में पंजीकृत.phtml फ़ाइल में कॉपी किया है।

http://pastebin.com/fpkeBsxc

बाद मैं ईमेल और किसी खाते का पासवर्ड भरा और प्रवेश पर क्लिक करें, रजिस्टर खाते प्रपत्र की चर्चा करते हुए सत्यापन त्रुटियों के साथ पेज रिटर्न यह bellow: यह है कि मैं क्या साथ समाप्त हो गया है। असल में, मुझे यकीन नहीं है कि ऐसा इसलिए है क्योंकि मेरा दृष्टिकोण पूरी तरह से बेवकूफ/गलत है और मैं इस तरह की कोड कॉपी और पेस्ट नहीं कर सकता, या यह एक साधारण HTML समस्या है जिसे मैं नहीं देख सकता? मुझे लगता है कि गलत तरीका हो सकता है, क्योंकि रजिस्टर फॉर्म काम करता है। मैं एक टिप्पणी में इसका एक स्क्रीनशॉट पोस्ट करूंगा, यह मुझे एक से अधिक लिंक पेस्ट नहीं करने देगा। किसी भी सलाह के लिए धन्यवाद।

+0

http://img137.imageshack.us/img137/2458/49833894.png – HeinekenBluess

उत्तर

2

आप इसे थोड़ा अलग करना चाहिए:

  1. Magento लेआउट को जानते हैं और यह कैसे एक टेम्पलेट के लिए दोनों मौजूदा रूपों में शामिल करने के लिए
  2. उपयोग लेआउट संदर्भ काम करता है
  3. उन्हें सबमिट कर सकें उनके मौजूदा नियंत्रक
+0

सहमत करने के लिए जा रहे हैं। दुर्भाग्यवश, यह कुछ PHP फ़ाइलों को संयोजित करने जितना आसान नहीं है। – Nic

7

अपनी थीम के भीतर ग्राहक.एक्सएमएल में आप खाता रजिस्टर ब्लॉक को लॉगिन पेज में ले जा सकते हैं।

<customer_account_login translate="label"> 
    <label>Customer Account Login Form</label> 
    <!-- Mage_Customer --> 
    <remove name="right"/> 
    <remove name="left"/> 

    <reference name="root"> 
     <action method="setTemplate"><template>page/1column.phtml</template></action> 
    </reference> 
    <reference name="content"> 
     <block type="customer/form_login" name="customer_form_login" template="customer/form/login.phtml"/> 


    <block type="customer/form_register" name="customer_form_register" template="customer/form/register.phtml"> 
      <block type="page/html_wrapper" name="customer.form.register.fields.before" as="form_fields_before" translate="label"> 
       <label>Form Fields Before</label> 
      </block> 
     </block> </reference> 
</customer_account_login> 
+0

इससे मुझे बहुत मदद मिली, धन्यवाद! – djdy

6
<reference name="content">    
    <block type="customer/form_login" name="customer_form_login" template="customer/form/login.phtml"> 
     <block type="customer/form_register" name="customer_form_register" template="customer/form/register.phtml" />    
    </block> 
</reference> 

इस से यू एचटीएमएल जहां यू ग्राहक में रखना चाहते हैं कर रख सकते हैं/प्रपत्र/login.phtml

<?php echo $this->getChildHtml('customer_form_register') ?> 
2

आदेश डिफ़ॉल्ट लॉगिन फार्म के साथ ग्राहक पंजीकरण फार्म विलय करने में Magento के, बस निम्नलिखित चरणों को नोट करें:
1. mini.register.phtml फ़ाइल बनाना
सबसे पहले आपको एक नई टेम्पलेट फ़ाइल बनाने की आवश्यकता है: app/design/frontend/[your-interface]/[your-theme]/template/customer/form/mini.register.phtml
और डिफ़ॉल्ट रजिस्टर फ़ाइल की सामग्री कॉपी करें: app/design/frontend/base/default/template/customer/form/register.phtml mini.register.phtml पर और अपनी आवश्यकता के अनुसार अनुकूलित करें। के रूप में अपने वर्तमान विषय के लिए app/design/frontend/base/default/template/customer/form/login.phtml:

app/design/frontend/[your-interface]/[your-theme]/template/customer/form/login.phtml 

और अब आप नए प्रवेश संशोधित करने की आवश्यकता

login.phtml
पहली प्रति फ़ाइल में mini.register.phtml सहित 2.। phtml ताकि आप mini.register.phtml की सामग्री शामिल कर सकें।
इसके लिए आपको अपने लेआउट xml फ़ाइल में निम्न XML कोड का उपयोग करने के लिए है (अधिमानतः app/design/frontend/[your-interface]/[your-theme]/layout/local.xml में) के रूप में:

<customer_account_login translate="label"> 
    <reference name="content"> 
     <action method="unsetChild"><child>customer_form_login</child></action> 
     <block type="customer/form_login" name="customer_form_login2" template="customer/form/login.phtml" > 
      <block type="customer/form_register" name="customer_form_register2" template="customer/form/mini.register.phtml"> 
       <block type="page/html_wrapper" name="customer.form.register.fields.before" as="form_fields_before" /> 
      </block> 
     </block> 
    </reference> 
    <reference name="head"> 
     <action method="setTitle" translate="title" module="customer"><title>Login or Create an Account</title></action> 
    </reference> 
</customer_account_login> 

अब आप बस अपना नया लॉगिन में mini.register.phtml शामिल कर सकते हैं।

<?php echo $this->getChildHtml('customer_form_register2'); ?> 
  1. आप काम हो गया: के रूप में phtml फ़ाइल। अब कैश साफ़ करें और ग्राहक प्रवेश पृष्ठ को फिर से लोड: http://your-mage-store/customer/account/login
+0

अपना उत्तर पोस्ट करने के लिए धन्यवाद! कृपया सावधानीपूर्वक [स्व-संवर्धन पर अक्सर पूछे जाने वाले प्रश्न] (http://stackoverflow.com/faq#promotion) को पढ़ना सुनिश्चित करें। यह भी ध्यान रखें कि यह * आवश्यक * है कि जब भी आप अपनी साइट/उत्पाद से लिंक करते हैं तो आप एक अस्वीकरण पोस्ट करते हैं। –

संबंधित मुद्दे