管理パネルでテンプレートパスのヒントを有効にしたい。私はフロントエンドでそれを行う方法を知っていますが、バックエンドでは??実際に管理パネルを編集したい。
前もって感謝します..
データベースを直接変更することでそれを行うことができます。あなたが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
に更新します。これは、おそらく最後のレコードになります。追加しました。
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に変更するか、ノードを削除します。
/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>
この機能は、管理者が使用するようには設計されていません。そのシステム構成は、グローバルレベルではなく、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を返すか、必要なロジックを追加します。
この変更を運用サーバーにプッシュすることはお勧めしません。
次の拡張機能を使用して、フロントエンドとバックエンドのテンプレートパスのヒントを簡単かつ安全に有効にすることができます。
http://www.magepsycho.com/easy-template-path-hints.html
非常に便利な解決策:\ 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;
}
遅いのはわかっていますが、この方法で簡単に実行できます。構成ファイルの設定を変更するだけです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
も
データベースに移動して、次のクエリを実行してください:
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'