Jak usunąć linki „Umowy rozliczeniowe” i „Moja lista życzeń” z menu nawigacji na stronie konta klienta?
Jak usunąć linki „Umowy rozliczeniowe” i „Moja lista życzeń” z menu nawigacji na stronie konta klienta?
Odpowiedzi:
Dodaj nowy uchwyt układu do jednego z miejsc:
VendorName/ModuleName/view/frontend/layout/customer_account.xml
app/design/frontend/VendorName/themeName/Magento_Wishlist/layout/customer_account.xml
(i podobny układ dla modułu umowy rozliczeniowej)Układ uchwytu zawartości:
<?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
wydaje się być dobrym miejscem dla twórców motywów.
Pełna lista usuwania XML konta klienta dla M2. Będzie to pomocne dla innych programistów, którzy próbują usunąć inne linki. Myślę, że dobrym pomysłem jest, aby zachować dodatkowe informacje dla innych programistów.
<?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
i customer-account-navigation-delimiter-2
są nazwy pustych / dekoracyjnych sekcji - zwanych również ogranicznikami.
app/code/<Vendor>/<Module>/view/frontend/layout/customer_account.xml
. Mam jednak osobny folder motywów.
W mojej instalacji maga (edycja handlowa 2.2.2) jest jeszcze jeden link:
<!-- Invitations -->
<referenceBlock name="customer-account-navigation-magento-invitation-link-container" remove="true"/>
Dodałem następujący css, aby ukryć kartę Umowy rozliczeniowe na stronach mojego konta klienta. Jak już wspomniano, są lepsze sposoby na zrobienie tego, ale jest to szybkie i łatwe!
nav.account-nav li.nav.item a [href * = "billing_agreement"] {display: none;}
Możesz zrobić to samo z listą życzeń lub innym linkiem, który chcesz usunąć. Wystarczy wskazać element za pomocą selektora, jak wyjaśniono tutaj: https://www.w3schools.com/cssref/css_selectors.asp
Najpierw ukrywam linki w MENU konta klienta za pomocą CSS, jak wspomniałem #Cristina, ponieważ myślałem, że rozwiązanie z xml będzie zbyt pracochłonne.
Ale to wcale nie jest skomplikowane. Musisz tylko wybrać linki, które chcesz usunąć.
Co ważne: patrząc na źródło kodu strony - nie ma linków do rozwiązania CSS (display: none;)
<referenceBlock name="customer-account-navigation-wish-list-link" remove="true"/>
(2) użyj wtyczki patrz github.com/magepal/magento2-customer-account-links-manager