2011-01-07 30 views
5

Giriş formunu birleştirmeye ve Magento'da hesap formu oluşturmaya çalışıyorum bir sayfaya. Nedeni sadece daha az sayfa daha iyi düşünüyorum. Magento'yu kafa karıştırıcı buluyorum ve düzeni ve şablon sistemi hakkında sınırlı bir anlayışa sahibim. Bunu yapmanın en kolay yolunun sadece giriş formunu kayıt hesabı sayfasına eklemesi gerektiğine karar verdim. Giriş formu ve kayıt formunu login.phtml dosyasında ve template/customer/form/register.phtml dosyasında buldum.Magento giriş ve kayıt formu bir sayfa

Sadece PHTML kodunu login.phtml dosyasından aynı dizinde bulunan register.phtml dosyasına kopyaladım.

Ben bir hesabın e-posta ve şifre doldurun ve giriş tıkladıktan sonra

http://pastebin.com/fpkeBsxc

, kayıt hesap forma atıfta doğrulama hataları ile sayfa döner onu feryat: Bu benim ile sona erdi budur. Temel olarak, eğer bu benim yaklaşımımın tamamen aptalca/yanlış olduğu için emin değilim ve sadece kodu kopyalayıp yapıştırmam ya da göremediğim basit bir html sorunu mu? Kayıt formu çalıştığı için yanlış bir yol olabileceğini düşünüyorum. Bir yorumda bunun bir ekran görüntüsünü gönderirim, bir bağlantıdan daha fazlasını yapıştırmama izin vermez. Herhangi bir tavsiye için teşekkürler.

+0

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

cevap

2

Bunu biraz farklı yapmalıdır:

  1. magento düzeni tanımak ve onu bir şablona hem mevcut formlar dahil etmek
  2. kullanım düzeni başvuruları nasıl çalıştığını
  3. onları teslim edelim onların Mevcut kontrolörler
+0

kabul etmek zorunda olacak: Şimdi müşteri giriş sayfasını önbelleğini temizleyin ve yeniden doldurun. Ne yazık ki, birkaç phtml dosyasını birleştirmek kadar kolay değil. – Nic

7

Temanızda customer.xml dosyasında, hesap kayıt bloğunu oturum açma sayfasına taşıyabilirsiniz. uu müşteri yerleştirmek istiyoruz html koyabilirsiniz bundan

<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

Bu bana çok yardımcı oldu, teşekkürler! – 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> 

/form varsayılan giriş formu ile müşteri kayıt formunu birleştirmek amacıyla/login.phtml

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

Magento, aşağıdaki adımları not edin:
1. Mini.register.phtml dosyasının oluşturulması
Önce yeni bir şablon dosyası oluşturmanız gerekir: app/design/frontend/[your-interface]/[your-theme]/template/customer/form/mini.register.phtml
Ve varsayılan kayıt dosyası içeriğini kopyalayın: app/design/frontend/base/default/template/customer/form/register.phtml mini.register.phtml ve gereksiniminize göre özelleştirin. olarak mevcut temaya app/design/frontend/base/default/template/customer/form/login.phtml:

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

Ve şimdi yeni bir giriş değiştirmeniz gerekir login.phtml
İlk kopya dosya içinde mini.register.phtml dahil

2.. phtml, böylece mini.register.phtml içeriğini de ekleyebilirsiniz. Bunun için
, kendi düzeni xml dosyasında aşağıdaki xml kodunu kullanmak zorunda (tercihen app/design/frontend/[your-interface]/[your-theme]/layout/local.xml cinsinden) olarak:

<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> 

Artık yeni giriş de mini.register.phtml, sade olabilir.İşiniz bitti

<?php echo $this->getChildHtml('customer_form_register2'); ?> 
  1. : olarak phtml dosyası. http://your-mage-store/customer/account/login
+0

Cevabınızı gönderdiğiniz için teşekkür ederiz! Lütfen [Kendini Tanıtma ile İlgili SSS] 'yı (http://stackoverflow.com/faq#promotion) dikkatli bir şekilde okuduğunuzdan emin olun. Ayrıca, kendi sitenize/ürününüze her bağlandığınızda bir * feragat ettiğinizi * zorunlu olduğunu unutmayın. –