Problème de substitution du fichier de mise en page dans Magento 2

9

J'utilise Magento 2.02 J'ai créé mon propre thème appelé 'cff', qui est basé sur Luma.

J'essaye de retirer le catalog.compare.linkbloctop.links

La disposition de ce bloc semble être définie dans

/vendor/magento/module-catalog/view/frontend/layout/default.xml

Et si j'ajoute

<referenceBlock name="catalog.compare.link" remove="true" />

dans ce fichier, puis comme prévu, le texte «Comparer les produits» disparaît du bloc top.links.

Cependant, je sais que je ne suis pas censé modifier les fichiers des fournisseurs. Je cherche donc le bon dossier dans lequel créer mon propre default.xmlfichier pour placer le code de suppression:

J'ai cherché partout dans la documentation et en ligne mais je ne trouve pas cette information. J'ai essayé plusieurs endroits, aucun d'entre eux ne fonctionne. Je pensais que celui-ci devrait fonctionner, mais il ne fonctionne pas non plus:

/app/design/frontend/cff/cff/Magento_Catalog/layout/default.xml

S'il vous plaît quelqu'un peut-il me dire où la disposition de remplacement doit aller?

Ceci est le code à l'intérieur de ma disposition primordiale default.xml

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceBlock name="catalog.compare.link" remove="true" />
    </body>
</page>
jodaki
la source
Tout d'abord, mettez à niveau la dernière version de Magento2 (2.1.5) et cela devrait fonctionner normalement. aussi si vous êtes sur un environnement de développement NE PAS utiliser le déploiement de contenu statique, c'est-à-dire pour la production, et sur le développement, vous devez utiliser des liens symboliques. N'oubliez pas non plus de supprimer / actualiser le cache "php bin / magento cache: flush" à la racine de votre magento ou de l'administrateur
Vlad Patru

Réponses:

1

Vous pouvez essayer de simplement supprimer le conteneur de référence de comparaison: compare-link-wrapper

<referenceContainer name="compare-link-wrapper" remove="true" />

Il existe une petite documentation concernant la suppression d'éléments via la mise en page XML, mais vous pouvez la trouver ici: http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/xml-instructions.html

En ce qui concerne votre question sur l'endroit où ce fichier doit vivre: vous avez raison de supposer que nous devons étendre le fichier default.xml en l'étendant dans notre thème Magento_Catalog/layout/default.xmlouMagento_Theme/layout/default.xml

J'ai juste essayé d'utiliser exactement le même code que vous avez fourni et je n'ai eu aucun problème à supprimer le bloc de comparaison.Je vérifierais que vous avez effacé vos caches et n'avez pas besoin de publier quoi que ce soit dans votre répertoire de pub.

MISE À JOUR 4/7/16:

Vous pouvez actualiser votre répertoire pub en supprimant manuellement le pub/staticrépertoire puis en exécutant la commande:

setup:static-content:deploy
Tyler Craft
la source
Salut Tyler, je ne comprends pas ta première phrase. qu'est-ce qu'un «conteneur de référence de comparaison»? le code que vous donnez n'apparaît pas dans /vendor/magento/module-catalog/view/frontend/layout/default.xml. J'ai essayé le fichier dans les deux emplacements que vous proposez, mais cela ne fonctionne pas. Pouvez-vous trouver une raison à cela? Et enfin, que voulez-vous dire par «publier quelque chose dans votre répertoire de pub»? Magento ne devrait-il pas s'occuper de tout dans ce dossier? Désolé d'être sombre, la courbe d'apprentissage est sanglante raide autour de ces parties ...
jodaki
Désolé, j'ai oublié de dire merci pour votre réponse Tyler! J'apprécie vraiment votre aide ..
jodaki
@jo J'en ai ajouté
Tyler Craft
0

Dans votre dossier de thème, accédez d' abord au dossier Magento_Theme / layout .

puis créez le dossier layout / override / base et ajoutez le fichier default.xml du fournisseur et ajoutez <referenceBlock name="catalog.compare.link" remove="true" />.

Dhaval
la source
pas besoin de passer outre, il suffit de mettre à jour la dernière version de Magento en utilisant la méthode qu'il a déjà essayée et peut-être simplement de supprimer le cache
Vlad Patru
0

J'ai essayé de supprimer referenceContainer sidebar.additional de la page de liste des produits. J'ai fait les procédures suivantes.

  1. Je viens de copier à <referenceContainer name="sidebar.additional">partir de \ vendor \ magento \ module-catalog \ view \ frontend \ layout \ default.xml
  2. Et mettez-le sous <body>. Le code doit chercher <referenceContainer name="sidebar.additional" remove="true"></referenceContainer>dans app \ design \ frontend \ theme \ theme-name \ Magento_Theme \ layout \ default.xml.
TS Guhan
la source