¿Cómo eliminar los enlaces "Acuerdos de facturación" y "Mi lista de deseos" del menú de navegación en la página de la cuenta del cliente?
¿Cómo eliminar los enlaces "Acuerdos de facturación" y "Mi lista de deseos" del menú de navegación en la página de la cuenta del cliente?
Respuestas:
Agregue un nuevo controlador de diseño a uno de los lugares:
VendorName/ModuleName/view/frontend/layout/customer_account.xml
app/design/frontend/VendorName/themeName/Magento_Wishlist/layout/customer_account.xml
(y un diseño similar para el módulo de acuerdo de facturación)Contenido del controlador de diseño:
<?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="customer-account-navigation-wish-list-link" remove="true"/>
<referenceBlock name="customer-account-navigation-billing-agreements-link" remove="true"/>
</body>
</page>
app/design
Parece ser un buen lugar para los desarrolladores de temas.
Lista completa de eliminación de XML de cuenta de cliente para M2. Será útil para otros desarrolladores que intenten eliminar otros enlaces. Creo que es una buena idea mantenerlo con información adicional para otros desarrolladores.
<?xml version="1.0"?>
<!--
/**
* Copyright © 2016 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<!-- Remove unwanted account navigation links -->
<!-- Put this file in: app/design/frontend/[Namespace]/[Theme]/Magento_Customer/layout/customer_account.xml -->
<!-- Store credit -->
<referenceBlock name="customer-account-navigation-customer-balance-link" remove="true"/>
<!-- Downloadable product link -->
<referenceBlock name="customer-account-navigation-downloadable-products-link" remove="true"/>
<!-- Subscription link -->
<referenceBlock name="customer-account-navigation-newsletter-subscriptions-link" remove="true"/>
<!-- Billing agreement link -->
<referenceBlock name="customer-account-navigation-billing-agreements-link" remove="true"/>
<!-- Product review link -->
<referenceBlock name="customer-account-navigation-product-reviews-link" remove="true"/>
<!-- My credit card link -->
<referenceBlock name="customer-account-navigation-my-credit-cards-link" remove="true"/>
<!-- Account link -->
<referenceBlock name="customer-account-navigation-account-link" remove="true"/>
<!-- Account edit link -->
<referenceBlock name="customer-account-navigation-account-edit-link" remove="true"/>
<!-- Address link -->
<referenceBlock name="customer-account-navigation-address-link" remove="true"/>
<!-- Orders link -->
<referenceBlock name="customer-account-navigation-orders-link" remove="true"/>
<!-- Wish list link -->
<referenceBlock name="customer-account-navigation-wish-list-link" remove="true"/>
<!-- Gift card link -->
<referenceBlock name="customer-account-navigation-gift-card-link" remove="true"/>
<!-- Order by SKU -->
<referenceBlock name="customer-account-navigation-checkout-sku-link" remove="true"/>
<!-- Gift registry -->
<referenceBlock name="customer-account-navigation-giftregistry-link" remove="true"/>
<!-- Reward points -->
<referenceBlock name="customer-account-navigation-reward-link" remove="true"/>
</body>
</page>
customer-account-navigation-delimiter-1
y customer-account-navigation-delimiter-2
son los nombres de las secciones vacías / decorativas, también conocidos como delimitadores.
app/code/<Vendor>/<Module>/view/frontend/layout/customer_account.xml
. Sin embargo, tengo una carpeta de tema separada.
En mi instalación de mago (2.2.2 edición comercial) hay otro enlace:
<!-- Invitations -->
<referenceBlock name="customer-account-navigation-magento-invitation-link-container" remove="true"/>
Agregué el siguiente CSS para ocultar la pestaña Acuerdos de facturación en las páginas de mi cuenta de cliente. Hay mejores formas de hacer esto como se mencionó, ¡pero esto es rápido y fácil!
nav.account-nav li.nav.item a [href * = "billing_agreement"] {display: none;}
Puede hacer lo mismo con la Lista de deseos o cualquier otro enlace que desee eliminar. Simplemente apunte el elemento usando un selector, como se explica aquí: https://www.w3schools.com/cssref/css_selectors.asp
Al principio, oculto los enlaces en el MENÚ de la cuenta del cliente usando CSS como #Cristina mencionó porque pensé que la solución con xml sería demasiado laboriosa.
Pero no es complicado en absoluto. Solo necesita elegir enlaces, que le gustaría eliminar.
Lo que es importante: al mirar la fuente del código de la página, no hay enlaces en lugar de la solución CSS (display: none;)
Elimine los enlaces innecesarios de la cuenta del cliente en Magento 2 para administrar la sección "Mi cuenta".
Obtenga la solución programática en https://meetanshi.com/blog/remove-unnecessary-customer-account-links-in-magento-2/
<referenceBlock name="customer-account-navigation-wish-list-link" remove="true"/>
(2) use un complemento, consulte github.com/magepal/magento2-customer-account-links-manager