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:
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.
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.
This entry was posted on Friday, July 10th, 2009 at 9:22 am and is filed under Magento Development. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.


August 11th, 2009 at 4:04 am
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)
September 11th, 2009 at 2:21 am
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
September 16th, 2009 at 4:28 pm
Good idea with updating core_config_data It’s realy save time between switching BACKEND AND FRONTEND.
October 29th, 2009 at 1:52 am
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..
November 11th, 2009 at 5:14 pm
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!
April 30th, 2010 at 2:25 am
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.
July 20th, 2010 at 3:24 am
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
December 12th, 2010 at 12:38 am
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?
December 19th, 2010 at 10:15 am
F**ing awesome!!!
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
August 23rd, 2011 at 2:26 pm
wow, classllama has done it again! Spectacular work, you guys never cease to amaze me!
October 8th, 2011 at 12:31 am
THANK YOU… This rocks
October 10th, 2011 at 10:24 am
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!!
November 12th, 2011 at 2:32 pm
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[...]…