Remove navigation links from My Account

后端 未结 11 731
挽巷
挽巷 2020-12-25 08:22

I am running Mage 1.5.0.1 and I am trying to remove the navigation links from the My Account section.

My local.xml has the following which works fine:



        
相关标签:
11条回答
  • 2020-12-25 08:59

    There are other various xml file that refer to <reference name="customer_account_navigation"> where you can copy the xml file to your layout directory and comment out the addLink node other than that, I see a removeLinkByUrl that you might try instead.

    0 讨论(0)
  • 2020-12-25 09:09

    I just refactored account dashboard links and removed CSS nth-child selectors as I had before and instead changed app/design/frontend/default/your_theme/template/customer/account/navigation.phtml to this

    <div class="block block-account">
    <div class="block-title">
        <strong><span><?php echo $this->__('My Account'); ?></span></strong>
    </div>
    <div class="block-content">
        <ul>
            <?php $_links = $this->getLinks(); ?>
            <?php $_index = 1; ?>
    
    
                <?php $_count = count($_links); 
                    unset($_links['recurring_profiles']); 
                    unset($_links['billing_agreements']); 
                    unset($_links['reviews']);
                    unset($_links['tags']);
                    unset($_links['OAuth Customer Tokens']);
                    unset($_links['downloadable_products']); 
                ?>
    
    
            <?php foreach ($_links as $_link): ?>
                <?php $_last = ($_index++ >= $_count); ?>
                <?php if ($this->isActive($_link)): ?>
                    <li class="current<?php echo ($_last ? ' last' : '') ?>"><strong><?php echo $_link->getLabel() ?></strong></li>
                <?php else: ?>
                    <li<?php echo ($_last ? ' class="last"' : '') ?>><a href="<?php echo $_link->getUrl() ?>"><?php echo $_link->getLabel() ?></a></li>
                <?php endif; ?>
            <?php endforeach; ?>
        </ul>
    </div>
    

    basically unset any unwanted links.

    0 讨论(0)
  • 2020-12-25 09:11

    My apperoach is to bring power of css and avoid hevy code modifications.

    E.G.

    /* CUSTOMER ACCOUNT LEFT NAV DISABLER */
    .block-content li:nth-child(4),
    .block-content li:nth-child(5),
    .block-content li:nth-child(6),
    .block-content li:nth-child(8){display: none;}
    

    Obviously change selectors to your themes customer navigation li, and use li:nth-child() sudo with number between parenthesis which you want to remove. Use comments in customer.xml as well just in case u don't forget what you did 6 month down the line.

    0 讨论(0)
  • 2020-12-25 09:16

    Go to app/design/frontend/YourPackageName/YourThemeName/layout/, create a sales/ directory if there isn't one, and create an empty file or directory named billing_agreement.xml and recurring_profile.xml.

    Cleanest method ever, no custom functions, no CSS hacking, no logic in template files.

    This completely hides the Billing Agreements and Recurring Profiles features from the user.

    0 讨论(0)
  • 2020-12-25 09:21

    You can also, override declaration by empty link - without define 'path' and 'label', direcly in local.xml:

    <customer_account>
        <reference name="customer_account_navigation">
            <action method="addLink"><name>tags</name></action>
            <action method="addLink"><name>newsletter</name></action>
        </reference>
    </customer_account>
    
    0 讨论(0)
提交回复
热议问题