1

我在 Google Analytics 模块中添加了一个字段。(所以这个问题是一个普遍的问题,在这种情况下与分析模块有关)

看起来像这样(system.xml)

<another_code translate="label">
    <label>Another code</label>
    <frontend_type>text</frontend_type>
    <sort_order>10</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
    <fields>
        <active translate="label">
            <label>Enable</label>
            <frontend_type>select</frontend_type>
            <source_model>adminhtml/system_config_source_yesno</source_model>
            <sort_order>10</sort_order>
            <show_in_default>1</show_in_default>
            <show_in_website>1</show_in_website>
            <show_in_store>1</show_in_store>
        </active>
        <account translate="label">
            <label>Account Id</label>
            <frontend_type>text</frontend_type>
            <sort_order>20</sort_order>
            <show_in_default>1</show_in_default>
            <show_in_website>1</show_in_website>
            <show_in_store>1</show_in_store>
        </account>
    </fields>
</another_code>

这工作正常,得到添加到数据库中。但...

我如何在前端获取它?如果我想获得<label>Account Id</label>

4

2 回答 2

2

从上面的示例中获取“帐户 ID”值

Mage::getStoreConfig('google/another_code/account')

对核心进行更改绝不是一个好主意,因此您可以创建一个自定义模块来扩展谷歌分析

在 app/code/local/MageIgniter/GoogleAnalytics/etc/system.xml (从上面复制 system.xml)

<config>
    <sections>
        <google translate="label" module="googleanalytics">
            <label>Google API</label>
            <tab>sales</tab>
            ....
           <another_code translate="label">

在 app/code/local/MageIgniter/GoogleAnalytics/etc/config.xml

  <config>
    <modules>
        <MageIgniter_GoogleAnalytics>
            <version>0.1.0</version>
        </MageIgniter_GoogleAnalytics>
    </modules>
    <global>
        <blocks>
            <googleanalytics>
                <rewrite>
                    <ga>MageIgniter_GoogleAnalytics_Block_Ga</ga>
                </rewrite>
            </googleanalytics>
        </blocks>
    </global>
  </config>

在 /app/code/local/MageIgniter/GoogleAnalytics/Block/Ga.php 中创建

class MageIgniter_GoogleAnalytics_Block_Ga extends Mage_GoogleAnalytics_Block_Ga
{

     function _getPageTrackingCode($accountId){
         // to get 'Account Id' value from above example
         Mage::getStoreConfig('google/another_code/account')
     } 

     ........
}

有关更多帮助,请参阅 /app/code/core/Mage/GoogleAnalytics/Block/Ga.php 或Magento 产品详细信息页面上的自定义变量

于 2013-01-03T00:21:56.833 回答
0

我假设你的意思是你在System > Configuration屏幕上看不到你的新选项。您需要another_code在配置的 ACL 节点中添加一个节点(通常在 adminhtml.xml 中找到)。不要忘记清除缓存并注销/重新加载 acl 权限。正如@RS 所说,如果您当前正在编辑核心,则绝对应该考虑创建自定义模块。

于 2013-01-03T08:48:42.067 回答