gpt4 book ai didi

Magento:如何判断您是在 .phtml 文件中的类别页面还是产品页面

转载 作者:IT王子 更新时间:2023-10-28 23:54:25 26 4
gpt4 key购买 nike

如果客人在类别列表页面或产品页面上,我正在尝试在我的 .phtml 文件中编写一个 if 语句。

例如这段代码:

<?= Mage::app()->getFrontController()->getRequest()->getRouteName(); ?>

只要我在 CMS 页面以外的页面上,就会返回“目录”。

有没有一种方法可以使用类似的方法来了解用户是在查看根类别、子类别还是单个产品页面?

如有任何帮助,我们将不胜感激!

最佳答案

自从我处理前端目录页面以来已经有一段时间了,但请尝试一下。

当前版本的 Magento 在某些页面上注册了某些全局变量(不是 PHP 全局变量,而是 Magento 系统的全局变量)。

调用如下

$category = Mage::registry('current_category');         
$product = Mage::registry('current_product');
$product = Mage::registry('product');

如果尚未设置对象(即您在没有类别或产品的页面上),将返回 null,或者返回类别和产品对象。

如果返回一个产品对象,您将进入产品页面。

如果没有返回产品对象但返回了类别对象,则您位于类别页面上。 Category 对象有一个获取父 id 的方法

$category->getParentId()

没有父 ID 的类别应该是顶级类别,有父 ID 的类别应该是子类别。

这应该会为您提供确定当前请求所在位置所需的信息。

更新:近十年后回到这个话题——我可能不会仅依赖注册表的内容来确定我所在的页面。相反,我会使用 the full action name结合寻找上述对象。

关于Magento:如何判断您是在 .phtml 文件中的类别页面还是产品页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3503842/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com