web-dev-qa-db-fra.com

Activer l'indicateur de chemin de modèle dans les pages d'administration - Magento

Je souhaite activer les indications de chemin d'accès aux modèles dans le panneau d'administration. Je sais comment le faire pour le front-end, mais pour le back-end ?? Je veux réellement éditer le panneau d'admin. 

Merci d'avance..

21
Damodaran

Vous pouvez le faire en modifiant directement la base de données. Si vous avez quelque chose comme phpMyAdmin, c'est un bon moyen d'obtenir un accès. Entrez ce SQL.

INSERT INTO `core_config_data` (`scope`, `scope_id`, `path`, `value`)
       VALUES ('websites', '0', 'dev/debug/template_hints', '1');

Lorsque vous avez terminé avec les indications de chemin, supprimez simplement l'enregistrement correspondant de core_config_data ou mettez à jour le champ value avec 0 au lieu de supprimer l'intégralité de l'enregistrement.

45
clockworkgeek

Vous pouvez activer les indications de modèle et de chemin d'accès de bloc dans chaque magasin (y compris le magasin admin) en les définissant dans la configuration de Magento. Pour ce faire, éditez simplement le fichier de configuration de votre module config.xml (qui est injecté dans la configuration globale de Magento). 

Pour activer les indications de modèle et de chemin d'accès dans la zone d'administration, ajoutez ceci à votre fichier config.xml.

<config>

    ...

    <stores>
        <admin>
            <dev>
                <debug>
                    <template_hints>1</template_hints>
                    <template_hints_blocks>1</template_hints_blocks>
                </debug>
            </dev>
        </admin>
    </stores>

</config>

Pour désactiver les indications de chemin, il suffit de passer à 0 ou de supprimer le nœud. 

34
fxx

ouvrez /app/etc/local.xml et ajoutez le code suivant 

<config>

    ...

    <websites>
        <admin>
            <dev>
                <debug>
                    <template_hints>1</template_hints>
                    <template_hints_blocks>1</template_hints_blocks>
                </debug>
            </dev>
        </admin>
    </websites>
</config>
9
BenRoe

La fonctionnalité n'a pas été conçue pour être utilisée sur l'administrateur. Sa configuration système est explicitement configurée pour ne vous permettre de le faire qu'au niveau du site Web ou du magasin, pas au niveau global.

En supposant que ce soit juste pour travailler dans un environnement de développement, l’approche que j’adopterais serait de remplacer la classe.

Mage_Core_Block_Template

et substituez (avec un substitut d'alias de classe ou un remplacement local/Mage) les indications de méthode 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;
//     }

Vous pouvez ensuite modifier manuellement getShowTemplateHints pour renvoyer true ou false si vous souhaitez activer ou désactiver la fonctionnalité, ou ajouter la logique supplémentaire de votre choix. 

Je ne vous recommanderais pas Poussez cette modification sur le serveur de production.

6
Alan Storm

Vous pouvez utiliser l'extension suivante afin d'activer facilement et en toute sécurité les astuces de chemin de gabarit pour frontend & backend de manière joomla:
http://www.magepsycho.com/easy-template-path-hints.html

2
MagePsycho

Une solution assez pratique: modifiez la fonction getShowTemplateHints() définie dans le fichier\app\code\core\Mage\Adminhtml\Block\Template.php comme ci-dessous:

Pour exécuter la fonction ci-dessous: Dans votre navigateur, tapez http://www.mymagentosite.com/?th=1&token=PHP

Vous pouvez voir les astuces de modèles et les noms de blocs ajoutés.

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;
}
2
Saurabh Verma

Je sais qu'il est tard mais vous pouvez le faire facilement de cette manière: Il suffit de modifier les paramètres dans le fichier de configuration www/app/code/core/Mage/Core/etc/system.xml

Définissez sections>dev>debug>fields>template_hints>show_in_default sur 1 et Définissez sections>dev>debug>fields>template_hints_blocks>show_in_default sur 1 également

2
Ovidiu

Accédez à votre base de données et exécutez simplement cette requête:

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

Pour les désactiver à nouveau, exécutez cette requête:

UPDATE core_config_data set value = 0 where scope = 'default' and scope_id = 0 and path ='dev/debug/template_hints'

Pour réactiver, exécutez cette requête:

UPDATE core_config_data set value = 1 where scope = 'default' and scope_id = 0 and path ='dev/debug/template_hints'
1
Hardik