Как удалить ссылки «Соглашения о выставлении счетов» и «Мой список пожеланий» из меню навигации на странице учетной записи клиента?
Как удалить ссылки «Соглашения о выставлении счетов» и «Мой список пожеланий» из меню навигации на странице учетной записи клиента?
Ответы:
Добавьте новый дескриптор макета в одно из мест:
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"] {display: none;}
Вы можете сделать то же самое Список пожеланий или любую другую ссылку, которую вы хотите удалить. Просто выберите элемент, используя селектор, как описано здесь: https://www.w3schools.com/cssref/css_selectors.asp
Сначала я скрываю ссылки в МЕНЮ аккаунта клиента, используя CSS, как упомянул #Cristina, потому что я думал, что решение с xml будет слишком трудоемким.
Но это совсем не сложно. Вам просто нужно выбрать ссылки, которые вы хотели бы удалить.
Что важно: глядя на источник кода страницы - нет ссылок на CSS-решение (display: none;)
Удалите ненужные ссылки на учетные записи клиентов в Magento 2, чтобы управлять разделом «Моя учетная запись».
Получите программное решение по адресу https://meetanshi.com/blog/remove-unneeded-customer-account-links-in-magento-2/
<referenceBlock name="customer-account-navigation-wish-list-link" remove="true"/>
(2) использование плагина, см. Github.com/magepal/magento2-customer-account-links-manager