1

GoogleAnalyticsモジュールにフィールドを追加しました。(したがって、この質問は一般的な質問であり、この場合は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>

これは正常に機能し、DBに追加されます。だが...

フロントエンドで取得するにはどうすればよいですか?私が取得したい場合、次のステップは何でしょうか<label>Account Id</label>

4

2 に答える 2

2

上記の例から「アカウントID」の値を取得するには

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

コアに変更を加えて、GoogleAnalyticsを拡張するカスタムモジュールを作成できるようにすることは決して良い考えではありません。

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 に答える