【问题标题】:Setting a CMS Page Name in Magento for Google Analytics在 Magento 中为 Google Analytics 设置 CMS 页面名称
【发布时间】:2012-05-14 13:21:44
【问题描述】:

在 /app/code/core/Mage/GoogleAnalytics/Block/Ga.php 第 88 行中提到 $this->getPageName() 用于同一脚本的第 95 行。虽然这是有道理的,因为如果页面定义了“页面名称”,它会将其附加到 Google Analytics 代码中,但我无法找到 Magento Admin 或页面 XML 中的位置我是否将此“页面名称”设置为内容管理系统页面?在 Ga.php 的注释中它说“自定义的“页面名称”可以从布局或其他地方设置。它必须从斜线开始。”但我不知道我会怎么做。

当我向 Magento 支持人员提出这个问题时,他们返回“查看我们的设计指南”,但没有提供其他信息。

如何在 Magento Enterprise 1.12.0.2 中为 CMS 页面设置页面名称?谢谢!

【问题讨论】:

    标签: magento


    【解决方案1】:

    默认情况下它没有设置在任何地方。您可以在使用操作调用在布局 xml 中创建块时设置它,例如:

    <action method="setPageName"><name>blah/blahblah/foo.html</name></action>
    

    您可以通过在块上调用 setPageName() 方法在控制器中设置它。或者您可以直接覆盖 Mage_GoogleAnalytics_Block_Ga 类并添加您自己的自定义功能:

    public function getPageName()
    {
        if (!$this->hasData('page_name')) {
            $this->setPageName(Mage::getSingleton('core/url')->escape($_SERVER['REQUEST_URI']));
         }
        return $this->getData('page_name');
    }
    

    【讨论】:

    • 你能扩展一下 方法吗?例如,如果我要通过 Admin->CMS->Page 功能将其放入,这是设计 XML 更新还是布局更新?另外,它会进入什么?谢谢!
    【解决方案2】:

    另一种解决方案,基于 Roscius 版本:

    public function getPageName()
    {
        if (!$this->hasData('page_name')) {
            $this->setPageName(str_replace(Mage::getStoreConfig('design/head/title_prefix'), '', $this->getLayout()->getBlock('head')->getTitle()));
         }
        return $this->getData('page_name');
    }
    

    【讨论】:

      猜你喜欢
      • 2011-07-09
      • 1970-01-01
      • 2015-04-19
      • 2013-05-06
      • 2012-02-24
      • 1970-01-01
      • 2013-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多