Come aggiungere / rimuovere collegamenti sul mio account di navigazione magento2?


18

Come rimuovere i collegamenti "Accordi di fatturazione" e "La mia lista dei desideri" dal menu di navigazione nella pagina dell'account cliente?


Esistono diversi modi per rimuovere un collegamento. (1) utilizzando layout.xml per rimuovere il blocco di riferimento in base al nome <referenceBlock name="customer-account-navigation-wish-list-link" remove="true"/>(2) utilizzare un plug-in vedi github.com/magepal/magento2-customer-account-links-manager
Renon Stewart

@RenonStewart, possiamo rimuovere i collegamenti in base ai gruppi di clienti?
Siva,

1
@Siva ... Con alcune modifiche a github.com/magepal/magento2-customer-account-links-manager/blob/… puoi filtrare per gruppo di clienti
Renon Stewart

rakeshjesadiya.com/remove-customer-navigation-links-magento-2 Rimuovere tutti i collegamenti da Magento Commerce.
Rakesh Jesadiya,

Risposte:


38

Aggiungi un nuovo handle di layout in uno dei posti:

  1. Se si crea un nuovo modulo: VendorName/ModuleName/view/frontend/layout/customer_account.xml
  2. Se si crea un nuovo tema, è necessario creare 2 handle di layout simili per dichiarare la rimozione separata di ciascun blocco: app/design/frontend/VendorName/themeName/Magento_Wishlist/layout/customer_account.xml(e layout simile per il modulo dell'accordo di fatturazione)

Layout gestire contenuto:

<?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>

aggiungi un nuovo handle di layout nell'app di localizzazione \ design \ frontend \ Magento giusto?
Abdul,

Non è meglio aggiungerlo al modulo personalizzato? Suppongo che l'attuale strategia in M2 sia quella di consentire un approccio totalmente modulare, quando non è necessario creare diversi tipi di file in luoghi diversi attraverso la base di codice (come in M1). app/designsembra essere un buon posto per gli sviluppatori di temi.
Alex Paliarush,

attualmente sto usando il tema luma quindi aggiungo un nuovo handle di layout in posizione \ vendor \ magento \ theme-frontend-luma giusto?
Abdul,

Se crei un nuovo tema, segui devdocs.magento.com/guides/v2.0/frontend-dev-guide/themes/… . Se è un nuovo modulo, aggiungi il layout alla directory del tuo modulo.
Alex Paliarush,


46

Elenco completo della rimozione XML dell'account cliente per M2. Sarà utile per altri sviluppatori che provano a rimuovere altri collegamenti. Penso che sia una buona idea tenerlo con informazioni extra per altri sviluppatori.

<?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>

Come hai conosciuto l'elenco completo? Sto cercando alcuni link che non sono predefiniti a Magento, per favore dimmi come trovi questo elenco, grazie :)
fudu

Ah non importa, l'ho fondato in questo link magento.stackexchange.com/questions/186056/…
fudu,

Utile anche: customer-account-navigation-delimiter-1e customer-account-navigation-delimiter-2sono i nomi delle sezioni vuote / decorative - alias delimitatori.
Jamil,

non funzionerà se creo una struttura come app/code/<Vendor>/<Module>/view/frontend/layout/customer_account.xml. Ho una cartella tematica separata però.
Farfalla,

1

Nella mia installazione di mage (2.2.2 commerce edition) c'è un altro link:

<!-- Invitations -->
<referenceBlock name="customer-account-navigation-magento-invitation-link-container" remove="true"/>

0

Ho aggiunto i seguenti css per nascondere la scheda Accordi di fatturazione nelle pagine del mio account cliente. Ci sono modi migliori per farlo come detto, ma questo è semplice e veloce!

nav.account-nav li.nav.item a [href * = "billing_agreement"] {display: none;}

Puoi fare lo stesso con la Wishlist o qualsiasi altro link che desideri rimuovere. Scegli come target l'elemento utilizzando un selettore, come spiegato qui: https://www.w3schools.com/cssref/css_selectors.asp


0

All'inizio nascondo i collegamenti nel MENU dell'account cliente usando CSS come #Cristina menzionato perché pensavo che la soluzione con XML fosse troppo laboriosa.

Ma non è affatto complicato. Devi solo scegliere i collegamenti che desideri rimuovere.

Cosa è importante: guardando l'origine del codice della pagina - non ci sono collegamenti a differenza della soluzione CSS (display: none;)


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.