Je souhaite supprimer certains blocs de ma page. Dites par exemple que je souhaite supprimer le conteneur du logo.
Ensuite, je crée /app/design/frontend/MYVENDORNAME/MYTHEMENAME/Magento_Theme/layout/default.xml
avec le code suivant:
<page layout="3columns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<referenceBlock name="logo" remove="true"/>
</page>
Dans ce cas, j'ai réussi à trouver le nom (name = "logo") de ce bloc de référence en cherchant dans les fichiers du thème de base.
La question est: existe-t-il une meilleure façon de connaître les noms des blocs. Je suppose qu'il doit y avoir une liste de tous les noms utilisés dans les fichiers XMl dans Magento? Ou une sorte de référence?
Disons par exemple que je voudrais supprimer le menu ( <div class="sections nav-sections">...</div>
). Comment puis-je trouver le nom de cette
catalog.topnav
. je le trouve dans default.xml dans le module Theme dans la base.Réponses:
Il y a plusieurs façons de faire ça:
Vous pouvez activer les indications de chemin et les indications de bloc en vous connectant à l'interface d'administration et en allant sur:
Malheureusement, il n'y a toujours aucun moyen infaillible de les trouver facilement, à ma connaissance. Bien qu'il semble que les gars travaillant sur le noyau y soient:
https://github.com/magento/magento2/issues/571
la source
Voici comment je les trouve ...
Contenu > Widgets > Ajouter un
type de widget = CMS Static Block
Design Theme = [Votre thème]
Continuer
Mises à jour de mise en page > Ajouter l'
affichage de mise en page activé = [Choisir une]
Cliquez avec le bouton droit sur Inspecter "Veuillez sélectionner" sous le conteneur.
Développez l'
<select>
élément dans Dev Tools.Toutes les options value = sont celles de referenceContainer Names.
:)
la source
Vous pouvez exécuter le code php-cli ci - dessous pour obtenir une liste de tous les ~ 200
referenceBlock
. Assurez-vous que le chemin d'accès à votre dossier racine Magento 2 est correct. Vous pouvez également modifier lainstruction
variable en listeblock
,container
etreferenceContainer
.la source
Vous pouvez utiliser cette extension gratuite:
https://github.com/ho-nl/magento2-Ho_Templatehints
Ou en suivant @blizam, répondez à quelques références choisies parmi les widgets:
Après l'en-tête de page> page.top
Après l'en-tête de page Haut> top.container
Avant les colonnes principales> columns.top
Avant le pied de page> page.bottom
Conteneur de pied de page avant> page.bottom.container
Liens de pied de page CMS> cms_footer_links_container
Comparer Link Wrapper> comparer-link-wrapper
Zone de contenu principale> contenu
Contenu principal à part> content.aside
Contenu principal en bas> content.bottom
Conteneur de contenu principal> main
Contenu principal Haut> content.top
Bloc promotionnel mini-chariot> minicart.addons
Bas de la page> before.body.end
Pied de page> pied de page
Conteneur de pied de page> conteneur de pied de page
En-tête de page> wrapper d'en-tête
Conteneur d'en-tête de page> header.container
Panneau En-tête de page> header.panel
Haut de la page> after.body.start
Barre latérale supplémentaire> barre latérale supplémentaire
Barre latérale principale> barre latérale.
la source
J'ai mis en place un petit module qui va écrire la structure de la page XML dans un fichier journal dans le
var/log/
dossier.app / code / CustomerParadigm / PageXml / etc / module.xml
app / code / CustomerParadigm / PageXml / etc / events.xml
app / code / CustomerParadigm / PageXml / registration.php
app / code / CustomerParadigm / PageXml / Model / Layout.php
Rien de trop étonnant ne se passe ici, et je suis sûr qu'il y a beaucoup de place à améliorer (travailler avec l'enregistreur intégré en fait partie) mais cela fait le travail pour moi lorsque je développe un site.
la source
https://gist.github.com/joshfortyfour/11d0f7dbc7be9e85bf4e9c62c668f465
@ici vous trouvez une liste de conteneurs, il est difficile de trouver le bon mais je sais que vous pouvez réussir à trouver le bon.
ou comme ci-dessus, quelqu'un fournit un lien de module gratuit pour trouver un conteneur ou un bloc dans magento, je l'ai essayé mais il est toujours utile de respirer sur le Web.
la source