>How to enable Template Path Hints in Magento 1 and Magento 2

How to enable Template Path Hints in Magento 1 and Magento 2

Template Path Hints are an useful tool that help us identify each blocks added to each pages. Which means that if you want to make a change in any page, you needed to first know from where that html code is generated.

And anyone, who has developed a theme in Magento, knows how helpful Template/Block Hint are. So this detailed article will guide you how to enable Template Path Hints in Magento 1 and Magento 2.

Magento 1

To enable Template Path Hints in Magento 1, please follow the steps.

Turn on Template Path Hints in Admin.

Please go to Dashboard -> System -> Configuration, choose scope level: store view which you want to enable.

In tab Advanced -> click Developer:

  • Allowed IPs: fill your IP
  • Template Path Hints: choose Yes
  • Add Block Names to Hints: choose Yes

Turn on Template Path Hints in source code.

Open file as editor and edit: app\code\core\Mage\Core\Block\Template.php.

Set 2 variable: $_showTemplateHints and $_showTemplateHintBlocks to 1.

protected static $_showTemplateHints=1;
protected static $_showTemplateHintsBlocks=1;

Save file and remember to plush the cache.

Magento 2

Turn on Template Path Hints in Admin.

Same as Magento 1, in Magento 2 you go to admin Dashboard -> Stores -> Configuration and choose store view which you want to enable.

In tab Advanced -> click Developer and following the same step as in Magento 1.

Or you can set scoped by Default config to enable Path Hints in Backend.

Turn on Template Path Hints in source code.

Open file as editor and edit:

Vendor\magento\module-developer\Model\TemplateEngine\Plugin\DebugHints.php

Find function afterCreate, close condition “if” in this function. Save file.

public function afterCreate(
        TemplateEngineFactory $subject,
        TemplateEngineInterface $invocationResult
    ) {
        $storeCode = $this->storeManager->getStore()->getCode();
        // if ($this->scopeConfig->getValue($this->debugHintsPath, ScopeInterface::SCOPE_STORE, $storeCode)
        //     && $this->devHelper->isDevAllowed()) {
            $showBlockHints = $this->scopeConfig->getValue(
                self::XML_PATH_DEBUG_TEMPLATE_HINTS_BLOCKS,
                ScopeInterface::SCOPE_STORE,
                $storeCode
            );
            return $this->debugHintsFactory->create([
                'subject' => $invocationResult,
                'showBlockHints' => $showBlockHints,
            ]);
        //}
        return $invocationResult;
    }

If you want to enable Block Names class, you can change variable $showBlockHints to 1. Remember to flush the cache after finishing all above steps.

Hope the article help you in your development of Magento modules.

< Previous Post
Next Post >