我写了一个插件,在用户面板显示新的消息,需要在在用户面板页面添加一个新的页面。
这里是通过XML来控制的,最重要的XML如下
<customer_account> <reference name="customer_account_navigation"> <action method="addLink" translate="label" module="messages"><name>messages</name><path>messages</path><label>Messages Box</label></action> </reference> </customer_account> <messages_index_index translate="label"> <label>Customer My Account Messages Box</label> <update handle="customer_account"/> <reference name="my.account.wrapper"> <block type="messages/messages" name="messages" template="messages/messages.phtml" /> </reference> </messages_index_index>
代码简单分析:
<reference name=”customer_account_navigation”> 是定义导航链接的xml声明,大家可以参考下Wishlist和tag的这个部分的定义。
<messages_index_index translate=”label”>是指相应的页面的url会如:http://127.0.0.1/magento1401/index.php/messages/index/index/ 等同于 http://127.0.0.1/magento1401/index.php/messages/
<reference name=”my.account.wrapper”> 就是主体内容的加载的声明xml片段,在里面放入你的phtml文件xml声明。
<block type=”messages/messages” name=”messages” template=”messages/messages.phtml” /> 在messages.phtml中写上你需要显示的内容,想要和模板风格统一,看下你模板中Wishlist和tag的div结构,直接套过来用。
messages.phtml中的内容在default模板中DIV结构如下,供参考
<div class="Messages-box"> <div class="page-title title-buttons"> <h1><?php echo $this->__('Messages Box') ?></h1> </div> <?php echo $this->getMessagesBlock()->getGroupedHtml() ?> <p>这里是新加的 customer_account_navigation,在此处添加我们需要的内容。</p> </div> <div class="buttons-set"> <p class="back-link"><a href="<?php echo $this->getBackUrl() ?>"><small>« </small><?php echo $this->__('Back') ?></a></p> </div>
代码简单分析:
getBackUrl() 这个要在你的插件相应的block文件中定一下,看下Wishlist和tag是怎么做的就行了。
别忘了在你的新加的页面的Controller里写上关于session的验证,xml的<reference name=”my.account.wrapper”>等同于<reference name=”content”>的tag,你的template=”messages/messages.phtml”加载不了放在content中试试。
转载表明出处:hellokeykey.com
是否能给个实例下载连接!