All we need is an easy explanation of the problem, so here it is.
I’m trying to remove some tabs and change the navigations title :
As you can see above navigation How to remove some navigation and change the title ? For example removing Address Book
change NewsLetter Subscriptons
to Subscription
I was looking for the css file nav items
and found this :
<?php
/**
* Copyright © 2013-2017 Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
/** @var $block \Magento\Framework\View\Element\Html\Links */
?>
<?php /** @var $block \Magento\Customer\Block\Account\Navigation */ ?>
<div class="block account-nav">
<div class="title">
<strong><?php /* @escapeNotVerified */ echo __('My Account'); ?></strong>
</div>
<div class="content">
<nav class="account-nav">
<ul class="nav items">
<?php echo $block->getChildHtml();?>
</ul>
</nav>
</div>
</div>
From here I was looking for the \Magento\Framework\View\Element\Html\Links
but kinda stuck and have no idea what to do.
I’m new to magento 2 so kinda noob here.
How to solve :
I know you bored from this bug, So we are here to help you! Take a deep breath and look at the explanation of your problem. We have many solutions to this problem, But we recommend you to use the first method because it is tested & true method that will 100% work for you.
Method 1
1 ) Add below code in your extended default.xml file to remove Account tabs links.
app/design/frontend/vendorname/themename/Magento_Theme/layout/default.xml
Here is list of code to remove account tabs as needed. Will helpful to you and other users as well
<!-- Address link -->
<referenceBlock name="customer-account-navigation-address-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"/>
<!-- Orders link -->
<referenceBlock name="customer-account-navigation-orders-link" remove="true"/>
<!-- Wish list link -->
<referenceBlock name="customer-account-navigation-wish-list-link" remove="true"/>
2 ) Renaming Newsletter Subscriptions
Copy customer_account.xml from
vendor/magento/module-newsletter/view/frontend/layout/customer_account.xml
To your extended module
app/design/frontend/vendorname/themename/Magento_Newsletter/layout/customer_account.xml
Let me know if any problem.
Keep cache disable while changing any XML file
Method 2
Create xml file in your custom theme app/design/frontend/Custom/mytheme/Magento_Customer/layout/customer_account.xml
<?xml version="1.0" encoding="UTF-8"?>
<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-address-link" remove="true"/>
</body>
</page>
For Changing newsletter subscriptions to subscriptions, copy file vendor/magento/module-newsletter/view/frontend/layout/customer_account.xml
in your custom theme app/design/frontend/Custom/mytheme/Magento_Newsletter/layout/customer_account.xml
and change the required text.
Then run commands for static content deploy and cache flush.
Method 3
Remove the Invitation Link from Dashboard Sections.
<!-- Invitations -->
<referenceBlock name="customer-account-navigation-magento-invitation-link-container" remove="true"/>
Remove Additional Sidebar from My account (Dashboard)
<!-- Additional Sidebar -->
<referenceContainer name="sidebar.additional" remove="true" />
Note: Use and implement method 1 because this method fully tested our system.
Thank you 🙂
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0