Magento - Hvordan legge til / fjerne koblinger på min konto navigasjon?

stemmer
30

Jeg prøver å fjerne linker på min konto navigasjon. Jeg så på kunden / konto / navigation.phtml mal. Malen griper lenker ved $ dette-> getLinks (). Hvordan kan jeg redigere getLinks () metode, slik at jeg kan fjerne noen av linkene?

Publisert på 29/12/2009 klokken 22:38
kilden bruker
På andre språk...                            


11 svar

stemmer
33

Svaret på spørsmålet ditt er til syvende og sist, det avhenger. Lenkene i at navigeringen blir lagt via ulike layout XML-filer. Her er koden som første definerer blokken i layout/customer.xml. Legg merke til at det også definerer noen linker for å legge til menyen:

<block type="customer/account_navigation" name="customer_account_navigation" before="-" template="customer/account/navigation.phtml">
    <action method="addLink" translate="label" module="customer"><name>account</name><path>customer/account/</path><label>Account Dashboard</label></action>
    <action method="addLink" translate="label" module="customer"><name>account_edit</name><path>customer/account/edit/</path><label>Account Information</label></action>
    <action method="addLink" translate="label" module="customer"><name>address_book</name><path>customer/address/</path><label>Address Book</label></action>
</block>

Andre menyelementer er definert i andre layout-filer. For eksempel bruker Anmeldelser modulen layout/review.xmlfor å definere sin layout, og inneholder følgende:

<customer_account>
    <!-- Mage_Review -->
    <reference name="customer_account_navigation">
        <action method="addLink" translate="label" module="review"><name>reviews</name><path>review/customer</path><label>My Product Reviews</label></action>
    </reference>
</customer_account>

For å fjerne denne linken, bare kommentere bort eller slette <action method=...>koden og menyvalget vil forsvinne. Hvis du ønsker å finne alle menyelementer på en gang, kan du bruke din favoritt filsøk og finne alle forekomster av name="customer_account_navigation", som er håndtaket som Magento bruker for at navigeringen blokken.

Svarte 30/12/2009 kl. 01:49
kilden bruker

stemmer
4

Også må du gjøre noe som dette i config.xml hvis du utvikler en tilpasset modul

    <frontend>
        <layout>
            <updates>
                <hpcustomer>
                    <file>hpcustomer.xml</file>
                </hpcustomer>
            </updates>
        </layout>
    </frontend>
Svarte 25/02/2010 kl. 03:41
kilden bruker

stemmer
43

Hvis du ønsker å selektivt fjerne koblinger uten å måtte kopiere / redigere hele XML-filer, kan en fin løsning finnes i dette innlegget i Magento fora

I denne løsningen overstyre deg Mage_Customer_Block_Account_Navigationblokken med en lokal versjon, som legger en removeLinkByNamemetode, som du deretter bruke i layout.xmlfilene, som så:

<?xml version="1.0"?>
    <layout version="0.1.0">

    <customer_account>
        <reference name="customer_account_navigation" >
                <!-- remove the link using your custom method -->
                <action method="removeLinkByName">
                   <name>recurring_profiles</name>
                </action>
                <action method="removeLinkByName">
                   <name>billing_agreements</name>
                </action>
        </reference>
    </customer_account>
</layout>
Svarte 03/12/2010 kl. 04:37
kilden bruker

stemmer
5

Teknisk svaret på zlovelady er å foretrekke, men som jeg bare måtte fjerne elementer fra navigasjons, tilnærming av unset de ikke-nødvendige navigasjons elementer i malen var den raskeste / enkleste måten for meg:

bare duplisere

app/design/frontend/base/default/template/customer/account/navigation

til

app/design/frontend/YOUR_THEME/default/template/customer/account/navigation

og unset unødvendige navigasjonselementer før blir gjengitt, for eksempel:

<?php $_links = $this->getLinks(); ?>    
<?php 
    unset($_links['recurring_profiles']);
?>
Svarte 02/05/2012 kl. 08:58
kilden bruker

stemmer
16

Du kan også deaktivere menyelementene gjennom backend, uten å berøre noen kode. Gå inn til:

System > Configuration > Advanced

Du vil bli presentert med en lang liste over alternativer. Her er noen av de viktigste modulene er satt til Deaktivert:

Mage_Downloadable -> My Downloadable Products
Mage_Newsletter -> My Newsletter
Mage_Review -> My Reviews
Mage_Tag -> My Tags
Mage_Wishlist -> My Wishlist

Jeg har også deaktivert Mage_Poll, som det har en tendens til å dukke opp i andre sidemaler og kan være irriterende hvis du ikke bruker den.

Svarte 09/06/2012 kl. 21:45
kilden bruker

stemmer
22

Den enkleste måten å fjerne koblingen fra panelet Min konto i Magento er til første side

app / design / frontend / base / default / mal / kunde / konto / navigation.phtml

til

app / design / frontend / enterprise / YOURSITE / mal / kunde / konto / navigation.phtml

Åpne filen og fine denne linjen, bør det være rundt linjen 34:

<?php $_index = 1; ?>

Rett nedenfor det legge dette:

 <?php $_count = count($_links); /* Add or Remove Account Left Navigation Links Here -*/
        unset($_links['tags']); /* My Tags */
        unset($_links['invitations']); /* My Invitations */
        unset($_links['enterprise_customerbalance']); /* Store Credit */
        unset($_links['OAuth Customer Tokens']); /* My Applications */
        unset($_links['enterprise_reward']); /* Reward Points */
        unset($_links['giftregistry']); /* Gift Registry */
        unset($_links['downloadable_products']); /* My Downloadable Products */
        unset($_links['recurring_profiles']); /* Recurring Profiles */
        unset($_links['billing_agreements']); /* Billing Agreements */
        unset($_links['enterprise_giftcardaccount']); /* Gift Card Link */
        ?> 

Bare fjerne noen av linkene her som du ønsker skal vises.

Svarte 08/11/2012 kl. 16:11
kilden bruker

stemmer
0

De fleste av de ovennevnte arbeid, men for meg var dette den enkleste.

Installer plugin, logge ut, logge inn, system, avansert, front end lenker manager, sjekk og fjern alternativene du vil vise. Det fungerer også på noen av de fremre enden navigasjons er på din side.

http://www.magentocommerce.com/magento-connect/frontend-links-manager.html

Svarte 03/09/2013 kl. 13:28
kilden bruker

stemmer
7

Arbeidet 100% er jeg sikker på.

Trinn 1: Gå til (YourTemplate / kunde / konto / navigation.phtml)

Trinn 2: Sett denne linjen: <?php $_count = count($_links); ?> Med:

<?php $_count = count($_links); /* Add or Remove Account Left Navigation Links Here -*/
unset($_links['account']); /* Account Info */     
unset($_links['account_edit']); /* Account Info */            
unset($_links['tags']); /* My Tags */
unset($_links['invitations']); /* My Invitations */
unset($_links['reviews']);  /* Reviews */
unset($_links['wishlist']); /* Wishlist */
unset($_links['newsletter']); /* Newsletter */
unset($_links['orders']); /* My Orders */
unset($_links['address_book']); /* Address */
unset($_links['enterprise_customerbalance']); /* Store Credit */
unset($_links['OAuth Customer Tokens']); /* My Applications */
unset($_links['enterprise_reward']); /* Reward Points */
unset($_links['giftregistry']); /* Gift Registry */
unset($_links['downloadable_products']); /* My Downloadable Products */
unset($_links['recurring_profiles']); /* Recurring Profiles */
unset($_links['billing_agreements']); /* Billing Agreements */
unset($_links['enterprise_giftcardaccount']); /* Gift Card Link */

?>

Svarte 16/01/2015 kl. 04:59
kilden bruker

stemmer
0

Du kan også bruke dette gratis plug-and-play forlengelse:

http://www.magentocommerce.com/magento-connect/manage-customer-account-menu.html

Denne utvidelsen ikke berøre noen av Magento kjernefilene.

Med denne utvidelsen kan du:

  1. Avgjør per menyvalget for å vise eller skjule det med ett klikk i Magento backend.
  2. Gi nytt navn til menyelementer enkelt.
Svarte 16/07/2015 kl. 06:46
kilden bruker

stemmer
0

Min løsning var å fjerne blokken i local.xml og lage den med blokkene jeg trengte, så, for eksempel

<customer_account>
        <reference name="left">
            <action method="unsetChild">
                <name>customer_account_navigation</name>
            </action>
            <block type="customer/account_navigation" name="customer_account_navigation" before="-" template="customer/account/navigation.phtml">
                <action method="addLink" translate="label" module="customer">
                    <name>account</name>
                    <path>customer/account/</path>
                    <label>Account Dashboard</label>
                </action>
                <action method="addLink" translate="label" module="customer">
                    <name>account_edit</name>
                    <path>customer/account/edit/</path>
                    <label>Account Information</label>
                </action>
        </block>
    </reference>
</customer_account>
Svarte 04/03/2016 kl. 09:29
kilden bruker

stemmer
1

Åpne navigation.phtml

app/design/frontend/yourtheme/default/template/customer/account/navigation.phtml

erstatte

<?php $_links = $this->getLinks(); ?>

med unset link som du ønsker å fjerne

<?php 
$_count = count($_links);
unset($_links['account']); // Account Information     
unset($_links['account_edit']); // Account Information  
unset($_links['address_book']); // Address Book
unset($_links['orders']); // My Orders
unset($_links['billing_agreements']); // Billing Agreements
unset($_links['recurring_profiles']); // Recurring Profiles
unset($_links['reviews']);  // My Product Reviews
unset($_links['wishlist']); // My Wishlist
unset($_links['OAuth Customer Tokens']); // My Applications
unset($_links['newsletter']); // Newsletter Subscriptions
unset($_links['downloadable_products']); // My Downloadable Products
unset($_links['tags']); // My Tags
unset($_links['invitations']); // My Invitations
unset($_links['enterprise_customerbalance']); // Store Credit
unset($_links['enterprise_reward']); // Reward Points
unset($_links['giftregistry']); // Gift Registry
unset($_links['enterprise_giftcardaccount']); // Gift Card Link
?>
Svarte 07/03/2017 kl. 09:47
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more