在管理页面中启用模板路径提示 - Magento

时间:2010-12-07 04:44:45

标签: php api magento e-commerce

我想在管理面板中启用模板路径提示。我知道如何为前端做到这一点,但对于后端?我其实想要编辑管理面板。

提前致谢..

9 个答案:

答案 0 :(得分:46)

您可以直接更改数据库。如果你有像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而不是删除整个记录,它可能是最后一个因为你刚刚添加它。

答案 1 :(得分:35)

您可以在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,或删除节点。

答案 2 :(得分:9)

打开/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>

答案 3 :(得分:6)

该功能并非设计用于管理员。它的系统配置明确设置为只允许您在网站或商店级别,而不是全局级别。

假设这仅适用于开发环境中的工作,我采用的方法是覆盖类

Mage_Core_Block_Template

并覆盖(使用类别名覆盖或本地/ Mage替换)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。

我不建议您将此更改推送到生产服务器。

答案 4 :(得分:2)

我知道现在已经很晚了,但你可以这样轻松地做到: 只需更改配置文件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

答案 5 :(得分:2)

您可以使用以下扩展名来启用前端和后台的模板路径提示。后端轻松&amp;以一种joomla方式安全地发送:
http://www.magepsycho.com/easy-template-path-hints.html

答案 6 :(得分:2)

一个非常方便的解决方案:修改\ 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;
}

答案 7 :(得分: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'

答案 8 :(得分:-3)

我认为你不应该让它变得太困难,让我们通过简单的步骤让它变得简单。您可以在此处查看有关How to turn on template path hints in Magento

的说明