首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >magento以编程方式检测产品页面

magento以编程方式检测产品页面
EN

Stack Overflow用户
提问于 2013-01-15 23:03:42
回答 1查看 1.3K关注 0票数 0

在观察者文件上,我需要检测加载的页面是否对应于产品。我一直在使用与checked answer on this question上使用的方法类似的方法

代码语言:javascript
复制
if (!(Mage::registry('current_product'))) return;

但到目前为止,我们只是在开发上进行测试。从今天开始,我们将在预生产服务器上进行测试,其中包含许多模块和插件。到目前为止,它工作得很好,但现在它不能工作,它不能检测何时加载产品页面。我认为是与网址重写有关,以显示一个更“友好”的网址,但无法检测到如何解决它。我看了一下Alan Storm tutorial In Depth Magento Dispatch,但我仍然可以找到哪里出了问题,或者我需要修改什么。

有什么想法吗?或者其他一些关于如何检测何时加载产品页面的解决方案?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-15 23:47:06

你已经确认观察者被击中了?确保您正在触发的事件具有该事件的唯一名称。例如,在下面的代码中,对于"catalog_product_load_after“事件,名称"catalog_product_set_price”必须是唯一的。我猜你已经进入观察者号了,但以防万一。如果您向一个实例中添加了一堆新模块,则可能会出现这种风险。

代码语言:javascript
复制
        <catalog_product_load_after>
            <observers>
                <catalog_product_set_price>
                    <type>singleton</type>
                    <class>NamespaceModule_Model_Observer</class>
                    <method>set_price2</method>
                </catalog_product_set_price>
            </observers>
        </catalog_product_load_after>

您可以使用以下数组来检查您所处的位置:

代码语言:javascript
复制
$currentPageArray = array(
            'request_string'=> Mage::app()->getFrontController()->getRequest()->getRequestString(),
            'uri'           => Mage::app()->getFrontController()->getRequest()->getRequestUri(),
            'route'         => Mage::app()->getFrontController()->getRequest()->getRouteName(),
            'action'        => Mage::app()->getFrontController()->getRequest()->getActionName(),
            'controller'    => Mage::app()->getFrontController()->getRequest()->getControllerName()
        );

它将输出类似以下内容:

代码语言:javascript
复制
Array
(
    [request_string] => /some-category/some-product-page-url.html
    [uri] => /catalog/product/view/id/64806/category/17
    [route] => catalog
    [action] => view
    [controller] => product
)

您可以尝试不同的观察者。

  • controller_action_layout_render_before_catalog_product_view
  • controller_action_postdispatch_catalog_product_view
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14340542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档