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..
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.
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.
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>
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.
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
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;
}
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
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'