web-dev-qa-db-ja.com

管理ページでテンプレートパスヒントを有効にする-Magento

管理パネルでテンプレートパスのヒントを有効にしたい。私はフロントエンドでそれを行う方法を知っていますが、バックエンドでは??実際に管理パネルを編集したい。

前もって感謝します..

22
Damodaran

データベースを直接変更することでそれを行うことができます。あなたがphpMyAdminのようなものを持っているなら、それはアクセスを得るための良い方法です。このSQLを入力します。

INSERT INTO `core_config_data` (`scope`, `scope_id`, `path`, `value`)
       VALUES ('websites', '0', 'dev/debug/template_hints', '1');

パスのヒントが完了したら、core_config_dataから一致するレコードを削除するか、レコード全体を削除するのではなく、valueフィールドを0に更新します。これは、おそらく最後のレコードになります。追加しました。

46
clockworkgeek

Magento構成で設定することにより、すべてのストア(管理ストアを含む)でテンプレートおよびブロックパスヒントを有効にすることができます。これを行うには、モジュールの構成ファイルconfig.xml(Magentoのグローバル構成に挿入される)を編集するだけです。

管理領域でテンプレートとブロックパスのヒントを有効にするには、これをconfig.xmlファイルに追加します

<config>

    ...

    <stores>
        <admin>
            <dev>
                <debug>
                    <template_hints>1</template_hints>
                    <template_hints_blocks>1</template_hints_blocks>
                </debug>
            </dev>
        </admin>
    </stores>

</config>

パスヒントを無効にするには、単に0に変更するか、ノードを削除します。

35
f0xdx

/app/etc/local.xmlを開き、次のコードを追加します

<config>

    ...

    <websites>
        <admin>
            <dev>
                <debug>
                    <template_hints>1</template_hints>
                    <template_hints_blocks>1</template_hints_blocks>
                </debug>
            </dev>
        </admin>
    </websites>
</config>
9
BenRoe

この機能は、管理者が使用するようには設計されていません。そのシステム構成は、グローバルレベルではなく、Webサイトまたはストアレベルでのみこれを許可できるように明示的に設定されています。

これが開発環境での作業用であると仮定すると、私が取るアプローチはクラスをオーバーライドすることです

Mage_Core_Block_Template

オーバーライドします(クラスエイリアスのオーバーライド、またはローカル/メイジの置き換えを使用して)getShowTemplateHintsメソッドのヒント。

public function getShowTemplateHints()
{
     //return false
     return true; 
}

//     old method, here for demo purposes only.  Don't hack the core
//     public function getShowTemplateHints()
//     {
//         if (is_null(self::$_showTemplateHints)) {
//             self::$_showTemplateHints = Mage::getStoreConfig('dev/debug/template_hints')
//                 && Mage::helper('core')->isDevAllowed();
//             self::$_showTemplateHintsBlocks = Mage::getStoreConfig('dev/debug/template_hints_blocks')
//                 && Mage::helper('core')->isDevAllowed();
//         }
//         return self::$_showTemplateHints;
//     }

次に、機能をオンまたはオフにする場合はgetShowTemplateHintsを手動で変更してtrueまたはfalseを返すか、必要なロジックを追加します。

この変更を運用サーバーにプッシュすることはお勧めしません。

6
Alan Storm

次の拡張機能を使用して、フロントエンドとバックエンドのテンプレートパスのヒントを簡単かつ安全に有効にすることができます。
http://www.magepsycho.com/easy-template-path-hints.html

2
MagePsycho

非常に便利な解決策:\ app\code\core\Mage\Adminhtml\Block\Template.phpファイルで定義されているgetShowTemplateHints()関数を次のように変更します。

以下の関数を実行するには:ブラウザに次のように入力します http://www.mymagentosite.com/?th=1&token=PHP

テンプレートのヒントと追加されたブロック名を確認できます。

public function getShowTemplateHints()
{
    if (is_null(self::$_showTemplateHints))
    {
        self::$_showTemplateHints = Mage::getStoreConfig('dev/debug/template_hints')
            && Mage::helper('core')->isDevAllowed();
        self::$_showTemplateHintsBlocks = Mage::getStoreConfig('dev/debug/template_hints_blocks')
            && Mage::helper('core')->isDevAllowed();
    }

    // overwrite the template hint [SPECIALLY FOR SHOWING TEMPLATE PATH HINTS IN ADMIN]
    $th     = Mage::app()->getRequest()->getParam('th', false);
    $token  = Mage::app()->getRequest()->getParam('token', false);
    if($th == 1 && $token == 'PHP'){
        self::$_showTemplateHints = true; // for template path
        self::$_showTemplateHintsBlocks = true; // block names
    }

    return self::$_showTemplateHints;
}
2
Saurabh Verma

遅いのはわかっていますが、この方法で簡単に実行できます。構成ファイルの設定を変更するだけですwww/app/code/core/Mage/Core/etc/system.xml

セットする sections>dev>debug>fields>template_hints>show_in_defaultから1とセットsections>dev>debug>fields>template_hints_blocks>show_in_defaultから1

2
Ovidiu

データベースに移動して、次のクエリを実行してください:

INSERT INTO core_config_data (scope, scope_id, path, value)
VALUES ('default', 0, 'dev/debug/template_hints', 1),
('default', 0, 'dev/debug/template_hints_blocks', 1);

それらを再び無効にするには、次のクエリを実行します。

UPDATE core_config_data set value = 0 where scope = 'default' and scope_id = 0 and path ='dev/debug/template_hints'

再度有効にするには、このクエリを実行します。

UPDATE core_config_data set value = 1 where scope = 'default' and scope_id = 0 and path ='dev/debug/template_hints'
1
Hardik