Як видалити посилання "Угоди про виставлення рахунків" та "Мій список бажань" із навігаційного меню на сторінці облікового запису клієнта?
Як видалити посилання "Угоди про виставлення рахунків" та "Мій список бажань" із навігаційного меню на сторінці облікового запису клієнта?
Відповіді:
Додайте нову ручку макета до одного з місць:
VendorName/ModuleName/view/frontend/layout/customer_account.xml
app/design/frontend/VendorName/themeName/Magento_Wishlist/layout/customer_account.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="customer-account-navigation-wish-list-link" remove="true"/>
<referenceBlock name="customer-account-navigation-billing-agreements-link" remove="true"/>
</body>
</page>
app/design
здається, це гарне місце для розробників тем.
Повний список видалення XML облікового запису клієнта для M2. Це буде корисно для інших розробників, які намагаються видалити інші посилання. Я думаю, що це гарна ідея, щоб вона мала додаткову інформацію для інших розробників.
<?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
і customer-account-navigation-delimiter-2
назви порожніх / декоративних розділів - ака-роздільники.
app/code/<Vendor>/<Module>/view/frontend/layout/customer_account.xml
. Однак у мене є окрема папка тем.
У моїй установці маг (2.2.2 комерційне видання) є ще одне посилання:
<!-- Invitations -->
<referenceBlock name="customer-account-navigation-magento-invitation-link-container" remove="true"/>
Я додав наступний css, щоб приховати вкладку "Угоди про виставлення рахунків" на своїх сторінках облікових записів клієнтів. Є кращі способи зробити це, як згадувалося, але це швидко і просто!
nav.account-nav li.nav.item a [href * = "billing_agreement"] {показ: немає;}
Ви можете зробити те саме, що Ви хочете видалити, або будь-яке інше посилання. Просто націліть елемент за допомогою селектора, як пояснено тут: https://www.w3schools.com/cssref/css_selectors.asp
Спочатку я приховую посилання в обліковому записі клієнта MENU, використовуючи CSS, як згадував # Cristina, тому що думав, що рішення з xml буде занадто трудомістким.
Але це зовсім не складно. Вам просто потрібно вибрати посилання, які ви хочете видалити.
Що важливо: дивлячись на джерело коду сторінки - немає посилань на відміну від рішення CSS (дисплей: немає;)
<referenceBlock name="customer-account-navigation-wish-list-link" remove="true"/>
(2) використовуйте плагін, див. Github.com/magepal/magento2-customer-account-links-manager