アカウントナビゲーションmagento2でリンクを追加/削除する方法


18

顧客アカウントページのナビゲーションメニューから「請求契約」および「マイウィッシュリスト」リンクを削除する方法


リンクを削除する方法は複数あります。(1)名前によって参照ブロックを除去するlayout.xmlを用いて<referenceBlock name="customer-account-navigation-wish-list-link" remove="true"/>(2)は、プラグインを参照の使用github.com/magepal/magento2-customer-account-links-manager
レノンスチュワート

@RenonStewart、顧客グループに基づいてリンクを削除できますか?
シヴァ

1
@Siva ... github.com/magepal/magento2-customer-account-links-manager/blob/にいくつかの変更を加えると、顧客グループでフィルタリングできます
Renon Stewart

rakeshjesadiya.com/remove-customer-navigation-links-magento-2 Magento Commerceからすべてのリンクを削除します。
Rakesh Jesadiya

回答:


38

新しいレイアウトハンドルをいずれかの場所に追加します。

  1. 新しいモジュールを作成する場合: VendorName/ModuleName/view/frontend/layout/customer_account.xml
  2. 新しいテーマを作成する場合、2つの同様のレイアウトハンドルを作成して、各ブロックの削除を個別に宣言する必要があります:(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 \ frontend \ Magentoに新しいレイアウトハンドルを追加しますか?
アブドゥル

カスタムモジュールに追加する方が良いと思いませんか?M2の現在の戦略は、コードベースの異なる場所に異なるタイプのファイルを作成する必要がない場合(M1の場合のように)、完全にモジュール式のアプローチを可能にすることです。app/designテーマ開発者にとっては良い場所のようです。
アレックスPaliarush

現在、lumaテーマを使用し、場所\ vendor \ magento \ theme-frontend-lumaに新しいレイアウトハンドルを追加しますか?
アブドゥル

新しいテーマを作成する場合は、devdocs.magento.com/guides/v2.0/frontend-dev-guide/themes/…に従ってください。新しいモジュールの場合、モジュールディレクトリにレイアウトを追加します。
アレックスPaliarush


46

M2の顧客アカウントXML削除の完全なリスト。他のリンクを削除しようとする他の開発者に役立ちます。他の開発者向けの追加情報を保持することをお勧めします。

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

どのようにして完全なリストを知りましたか?デフォルトではないmagentoのリンクを探しています。このリストを見つける方法を教えてください、ありがとう:)
fudu

ああ用事、私はこのリンクでそれを設立しましたmagento.stackexchange.com/questions/186056/...
富都

また、有用な:customer-account-navigation-delimiter-1customer-account-navigation-delimiter-2-区切り文字別名空/装飾セクションの名前があります。
ジャミル

として構造を作成すると、機能しませんapp/code/<Vendor>/<Module>/view/frontend/layout/customer_account.xml。ただし、別のテーマフォルダがあります。
バタフライ

1

私のmageのインストール(2.2.2コマース版)には別のリンクがあります:

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

0

次のcssを追加して、顧客アカウントページの[請求契約]タブを非表示にしました。前述のようにこれを行うより良い方法がありますが、これは素早く簡単です!

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

あなたは同じウィッシュリストまたはあなたが削除したい他のリンクを行うことができます。ここで説明するように、セレクターを使用して要素をターゲットにするだけです:https : //www.w3schools.com/cssref/css_selectors.asp


0

最初に#Cristinaが言及したように、CSSを使用して顧客アカウントMENUのリンクを非表示にしました。これは、xmlを使用したソリューションは面倒だと思ったためです。

しかし、それはまったく複雑ではありません。削除したいリンクを選択するだけです。

重要なこと:ページのコードのソースを見ること-CSSソリューションとは対照的なリンクはありません(表示:なし;)


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.