Magento边栏调用mini login form

通过前面的调用边栏高级搜索的文章,回头再来看一下 Magento已有的mini login form。

可以在customer.xml中发现一下调用代码

<!--
Load this update on every page when customer is logged out
-->

    <customer_logged_out>
        <!---<reference name="right">
            <block type="customer/form_login" name="customer_form_mini_login" before="-" template="customer/form/mini.login.phtml"/>
        </reference>-->
        <reference name="top.links">
            <action method="addLink" translate="label title" module="customer"><label>Log In</label><url helper="customer/getLoginUrl"/><title>Log In</title><prepare/><urlParams/><position>100</position></action>
        </reference>
        <remove name="reorder"></remove>
    </customer_logged_out>

会发现在右边栏调用的mini login form 被注释了,去除注释,进入包含右边栏的子页面之后,发现mini登录框确实被调用了,但是头部的title也变成 Customer Login了,这样可不太好。

仿照之前调用高级搜索解决面包屑问题的方法,我们也去看一下默认的代码块

/**
 * Customer login form block
 *
 * @category   Mage
 * @package    Mage_Customer
 * @author      Magento Core Team <[email protected]>
 */
class Mage_Customer_Block_Form_Login extends Mage_Core_Block_Template
{
    private $_username = -1;

    protected function _prepareLayout()
    {
        $this->getLayout()->getBlock('head')->setTitle(Mage::helper('customer')->__('Customer Login'));
        return parent::_prepareLayout();
    }

发现在调用的时候,title被重设了

于是在我们自定义的模块中重写此方法

class WJ_Theme_Block_Login extends Mage_Customer_Block_Form_Login {
	public function _prepareLayout()
    {  

    }

修改布局调用文件代码

<customer_logged_out>
        <reference name="right">
            <block type="wjtheme/login" name="customer_form_mini_login" before="-" template="customer/form/mini.login.phtml"/>
        </reference>

测试成功,我们还可以在mini.login.phtml中添加需要的链接,如注册 忘记密码等

OK 就记到这边 :-)  

你可能感兴趣的:(开发,模板,login,休闲,Magento)