magento在用户面板添加导航和页面

magento在用户面板添加新页面

我写了一个插件,在用户面板显示新的消息,需要在在用户面板页面添加一个新的页面。

这里是通过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

《magento在用户面板添加导航和页面》有一个想法

评论已关闭。