Enable Template/Block Hints in Admin Panel

Anyone that has developed a theme in Magento knows how helpful template/block hints are. They help quickly identify which files are being loaded for a specific page.

Magento’s admin panel uses the exact same design pattern as the frontend (layouts + blocks + templates). If you’ve ever done any modifications to the Magento admin panel, you’ve probably tried to turn on template/block hints for the admin panel. The only problem is, Magento doesn’t have built-in support for this. I did some digging around and found out how to enable this feature in the admin panel.

Step 1 – Connect to database

Using your favorite database administration tool, connect to your Magento database. These are tools I’ve used and recommend: Navicat ($129), MySQL Query Browser (Free), Sequel Pro (Mac Only – Free), or phpMyAdmin (free).

Step 2 – Enter values into ‘core_config_data’ table

Run the following query on the Magento database:

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);

Step 3 – Test in admin panel

Once you make this addition to the core_config_data database, template/block hints should show up in the admin panel. Here is a screenshot of the CMS Page with hints turned on:

Magento Admin - Hints Turned On

Magento Admin - Hints Turned On

Disabling Hints

When you’ve finished development want to turn off template hints in the admin panel, open the core_config_data table and change the ‘value’ column of the two row you inserted to “0″.

Why does this work?

For those of you who are like me and want to know the “why” as well as the “how”, I’m going to go over why this works. Here is the Magento code that checks to see if template/blocks hints are enabled:

File: /app/code/core/Mage/Core/Block/Template.php (Magento 1.3.2)
109
110
111
112
113
114
115
116
117
118
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;
}

The “Mage::getStoreConfig” method checks for config values that are set in the current scope (ie, default, website, store, store view). In the admin panel, only values set in the “Default Scope” are loaded.

Magento only allows you to turn on hints when you’re in the configuration scope of a Website or Store View. This means that when the code above tries to load the configuration, it returns “null” because that config value isn’t set in the “Default Config” scope. Running the MySQL query above adds the hint config values to the “Default Config” scope. Here is a screenshot showing the settings for turning on the hints – notice that the “Main Website” configuration scope is selected.

Magento Config Scope Selection

Magento Config Scope Selection

Conclusion

I hope this helps you in your development of Magento modules that integrate with the admin panel. I considering writing a module to enable the hints to be turned on in the “Default Scope”, but decided against it, due to the simplicity of the method outlined in this post.

14 Responses to “Enable Template/Block Hints in Admin Panel”

  1. thank you, it was very helpful, i finally found the template i was looking for
    but in addition to store config to database i had to turn on template hints in admin > system > configuration > advanced > developer > debug (Step 2.5)

  2. THANK YOU VERY MUCH !!!!!!!!

    I cant explain how much I am happy . Its really helpful. I was struggling a lot because of this .

    Superb, Simply Outstanding

  3. Good idea with updating core_config_data It’s realy save time between switching BACKEND AND FRONTEND.

  4. Hi,

    Actually i need to activate template path hints for admin..
    & I tried this one.. but couldn’t get it…
    wat to do???

    Please help me out..
    It’s urgent..

    Thanks in advance.
    Any help is appriciable..

  5. THANKS! This seriously saved my life! Magento randomly enabled the debugging features on a clients site and no matter how many times I turned them off and updated the updating core_config_data DB table data they still showed up…so I had to comment out a few lines of code to get rid of the debugging features. Thanks again!

  6. Thanks! After enabling path hints for one of my stores and running your SQL the block hints showed up.

    One note, in Magento 1.3.2.4 (and probably others) if you open app/code/core/Mage/Core/etc/system.xml and change the “show_in_default” value to “1″ (from 0) for “Template Path Hints” and “Add Block Names to Hints” these options will become available under “Default Config” right in the Admin interface.

  7. Thanks that is lot of help. for those who are still wondering why admin paths are not showing up once you have done the setup as described in the article. please flush the Magento cache

  8. thanks for your work, I did what you told, changed the default table value to 0, still show little red box, can I ask why?

  9. F**ing awesome!!!

  10. internetoutfitters

    January 26th, 2011 at 4:32 pm

    rather than editing the database directly, just go with @nate’s solution above. edit the system.xml and the options for displaying template hints will show up for the Default config. worked great in 1.4

  11. wow, classllama has done it again! Spectacular work, you guys never cease to amaze me!

  12. THANK YOU… This rocks :D

  13. Hi Magento Lovers

    I have developed a great extension for enabling template path hints (for frontend & backend) easily just by passing some paramters via url.
    Moreover it’s like joomla like template path hints.

    You can find more details & live demo @
    http://www.magepsycho.com/easy-template-path-hints.html

    Happy E-Commerce!!

  14. drivers license | fake drivers license | drivers license template | passport template | credit card template…

    [...]Enable Template/Block Hints in Admin Panel » Classy Llama Studios – Specializing in Magento eCommerce, Magento Development, and Magento Design[...]…

Comment Form

For Code: Use the html code for < & >.  i.e. "&lt;YOUR_TAG&gt; ...your code... &lt;/YOUR_TAG&gt;"

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Call us at 417-597-3397, email us at sales@classyllama.com, or use this form to contact us:

  1. (required)
  2. (required)
 

cforms contact form by delicious:days