Magento - 如何判断我是否在 "My Account" 页面上?
Magento - How can I tell if I'm on a "My Account" page?
我想在我的 Magento 网站的页面顶部添加一些内容,但前提是客户位于 "My Account" 部分。我会将它添加到 /app/design/frontend/xxxx/xxxx/template/page/html/header.phtml
。如何检测客户是否在 "My Account" 部分?
我发现了一些行不通的方法,最接近的是 Mage::app()->getFrontController()->getRequest()->getRouteName()
,它无法提供可靠的方法来检查我是否在 "My Account"部分。
这些页面在XML中都有<update handle="customer_account" />
,请问有什么办法可以得到当前页面的句柄吗?
试试这个:
在布局页面中
<customer_account_index translate="label">
<label>Custom Page</label>
<reference name="header">
<block type="page/header" name="header">
<action method="setTemplate"><template>your_custom_header_template_path/yourcustomheader.phtml</template></action>
</block>
</reference>
<!-- Mage_Customer -->
<update handle="customer_account"/>
</customer_account_index>
参考链接:
http://www.atwix.com/magento/how-to-change-the-header-of-magento-cms-page/
http://istockphp.com/magento/adding-custom-page-to-the-customer-account-dashboard/
magento 的做法是编辑您的 local.xml
文件。
你应该像这样使用 customer_account_index
句柄:
<customer_account_index>
<reference name="header">
<block type="core/template" name="new_customer_data" template="page/html/customer.phtml"/>
</reference>
</customer_account_index>
使用您想要的数据创建 page/html/customer.phtml
。
并在 template/page/html/header.phtml
中写入 <?php echo $this->getChildHtml('new_customer_data') ?>
另一种方式是:
<?php $action = Mage::app()->getFrontController()->getAction();
echo $action->getFullActionName('_');
if($action->getFullActionName('_')=="customer_account_index")
{
}?>
我想在我的 Magento 网站的页面顶部添加一些内容,但前提是客户位于 "My Account" 部分。我会将它添加到 /app/design/frontend/xxxx/xxxx/template/page/html/header.phtml
。如何检测客户是否在 "My Account" 部分?
我发现了一些行不通的方法,最接近的是 Mage::app()->getFrontController()->getRequest()->getRouteName()
,它无法提供可靠的方法来检查我是否在 "My Account"部分。
这些页面在XML中都有<update handle="customer_account" />
,请问有什么办法可以得到当前页面的句柄吗?
试试这个:
在布局页面中
<customer_account_index translate="label">
<label>Custom Page</label>
<reference name="header">
<block type="page/header" name="header">
<action method="setTemplate"><template>your_custom_header_template_path/yourcustomheader.phtml</template></action>
</block>
</reference>
<!-- Mage_Customer -->
<update handle="customer_account"/>
</customer_account_index>
参考链接:
http://www.atwix.com/magento/how-to-change-the-header-of-magento-cms-page/
http://istockphp.com/magento/adding-custom-page-to-the-customer-account-dashboard/
magento 的做法是编辑您的 local.xml
文件。
你应该像这样使用 customer_account_index
句柄:
<customer_account_index>
<reference name="header">
<block type="core/template" name="new_customer_data" template="page/html/customer.phtml"/>
</reference>
</customer_account_index>
使用您想要的数据创建 page/html/customer.phtml
。
并在 template/page/html/header.phtml
中写入 <?php echo $this->getChildHtml('new_customer_data') ?>
另一种方式是:
<?php $action = Mage::app()->getFrontController()->getAction();
echo $action->getFullActionName('_');
if($action->getFullActionName('_')=="customer_account_index")
{
}?>