Magento obtenir la mise en page pour une page donnée
Je suis en train de travailler sur un module Magento où je veux aller chercher la mise en page d'une page de garde page. Par frontend page je veux dire tous les types de pages, c'est à dire page cms, catégorie, produit, panier, mon compte, etc.
J'ai lu l'excellent magento-nofrills ebook à partir d'Alan Tempête et je suis en utilisant son Commercebug plugin pour m'aider à développer mon site magento. J'ai aussi passé un peu de temps sur stackoverflow la recherche d'un similair question, s'il vous plaît pardonnez-moi si j'ai manqué.
Si par exemple j'ai une page id ou id de la catégorie, comment puis-je récupérer la mise en page de l'interface de la page de code à exécuter dans le backend?
J'ai joué avec la demande et lorsque j'exécute ce code dans le frontend, je peux voir que le module de contrôleur, layouthandles etc sont modifiés lorsque, par exemple, en regardant un catalogue page
$request = Mage::app()->getRequest();
$request->setModuleName('cms');
$request->setRouteName('cms');
$request->setControllerName('page');
$request->setActionName('view');
$request->setParam('page_id', 6);
Mais quand j'ai inspecter le xml à partir de la mise en page, je n'arrive pas à force de magento pour me montrer le xml (dans cet exemple) page cms avec id=6:
Mage::app()->getLayout()->getNode()->asXml();
Peut-être que je pense trop compliqué cependant. Je voudrais vérifier si une certaine page a barres latérales, dont les blocs et les éléments qui sont affichés sur la page et dans les encadrés (uniquement actif blocs, pas l'ignoré ceux).
Merci d'avance!
Tim
- Avez-vous comprendre cela? je suis curieux de moi-même.
Vous devez vous connecter pour publier un commentaire.
Appel loadLayout() avant getLayout().
Vous pouvez vérifier si un bloc est actif dans la mise en page en appelant getBlock($block_name):
Si le bloc n'est pas le cadre de la mise en page (ou ignorée), alors $left_block sera fausse.
Vous pouvez utiliser getBlock() en collaboration avec getSortedChildren() pour voir son enfant blocs:
Ci-dessus retournera un tableau de chaîne de bloc de noms dans le "contenu" du bloc. Uniquement les noms des actifs blocs seront retournés.