Quero remover os seguintes links no painel esquerdo do painel da conta do cliente?
- As minhas aplicações
- Registro de presentes
- Pontos de recompensa
- Gift Card Link
Estou trabalhando no Magento 1.7 Community Edition. Qualquer ajuda será apreciada.
magento-1.7
customer
Oshan
fonte
fonte
Respostas:
Etapa 1: Vá para (yourPackage / YourTemplate / customer / account / navigation.phtml)
Etapa 2: Substitua a linha abaixo
O trecho de código acima contém a maneira de remover todos os links de navegação. Espero que isso ajude a todos.
Link de referência: https://github.com/Aproducktion/Magento-Remove-Dashboard-Links
fonte
If you can't
??Eu vejo duas opções aqui.
Primeiro e mais fácil: encontre os arquivos de layout que adicionam esses itens de menu e comente o código para eles.
Por exemplo,
My applications
é adicionadoapp/design/frontend/{interface}/{theme}/layout/oauth.xml
através deste pedaço de XMLO segundo método, que não tenho 100% de certeza de que funcionará, é adicionar este xml dentro do
local.xml
arquivo de layout do seu tema:Você precisa adicionar uma
<action>
tag para cada link que deseja remover.Há também a terceira opção, se você não estiver usando os módulos, apenas desative-os. Isso também pode aumentar o desempenho.
Para isso, crie este arquivo:
app/etc/modules/Zzzz.xml
com este conteúdo:Você pode ter alguns problemas, aqui estão alguns outros módulos que você deseja usar, dependendo dos que você deseja desativar.
fonte
Mage_Customer_Block_Account_Navigation
não herdaMage_Page_Block_Template_Links
.Há uma extensão FOSS que adiciona a opção de back-end aos links de contas remotas.
Há um segundo módulo (também FOSS) que adiciona o
removeLink
método para que você possa usar o seguinte em seulocal.xml
Isenção de responsabilidade: eu sou desenvolvedor da segunda extensão.
fonte
A solução mais simples (implementação e uso) que eu encontrei é para substituir
Mage_Customer_Block_Account_Navigation
emapp/code/local
e adicionar umremoveLinkByName
método, que faz o mesmo que a resposta de Oshan faz, mas é utilizável a partir de arquivos de layout. Uma reescrita de classe mais tradicional também funcionaria, mas poderia causar conflitos com um plug-in.Atenção! Não testado!
Uma solução mais complicada seria escrever seu próprio módulo com um
Block
que estendaMage_Customer_Block_Account_Navigation
e inclua umremoveLinkByName
método. Para que isso funcione, você teria que remover / desarmar ocustomer_account_navigation
bloco e substituí-lo pelo do seu novo módulo. A partir de então, a qualquer momentocustomer_account_navigation
no layout, você receberá uma instânciaremoveLinkByName
.fonte
Uma solução rápida para remover todos os itens da lista Minha conta abaixo de Meus pedidos, incluindo Contratos de cobrança, Perfis recorrentes, Meus aplicativos e Meus produtos para download. Também removerá os links My Wishlist e My Newsletter, em todo o site, testados no Magento 1.9:
Comente as linhas 31 a 66 de app / design / frontend / default / YOURTHEME / layout / wishlist.xml (se não houver, copie-o de app / design / frontend / rwd / default / layout / wishlist.xml)
Comente as linhas 47 - 65 de app / design / frontend / default / YOURTHEME / layout / newsletter.xml (se não houver, copie-o de app / design / frontend / rwd / default / layout / newsletter.xml)
newsletter </name> newsletter / manage / </path> Assinaturas de boletins </label> </action> </reference> </customer_account-->
CSS (ajuste de acordo com seus requisitos)
fonte
Para evitar a remoção dos links, eu recomendaria atribuir valores de ID com base na variável $ _index, para que você possa ocultar os links via CSS.
Aqui está o que eu fiz:
Em yourPackage / YourTemplate / customer / account / navigation.phtml
Então, obviamente, você pode ir
Não existe uma maneira de esfolar um gato, mas esta é uma opção rápida e fácil sem comprometer realmente nenhuma funcionalidade.
fonte
Eu pensei que uma solução melhor seria reescrever o bloco. Isso foi mencionado acima, mas não havia exemplo:
Adicione a reescrita ao seu config.xml na seção global:
Substitua addLink no Mage_Customer_Block_Account_Navigation:
A matriz exclude_links poderia obter de uma configuração se você não quisesse codificar os links excluídos.
fonte
isto é o que eu pesquisei sobre isso: http://magebase.com/magento-tutorials/5-useful-tricks-for-your-magento-local-xml/
fonte
Em primeiro lugar, gostaria que você dissesse que existem diferentes maneiras de resolver seus problemas.
É a maneira mais fácil de encontrar o código no
layout.xml
arquivo dentro da base que você deseja remover, por exemplo: se eu quiser remover as "Minhas tags", basta comentar a parte.Mas você sabe que não devemos modificar o arquivo base, portanto, outro próximo método simples que pode ser executado é
Desativando o link no seu arquivo de modelo. Para isso, copie o
navigation.phtml
arquivo para o seu tema (Nota: a estrutura da pasta deve ser a mesma) a partir dobase\default\template\customer\account\navigation.phtml
. que é mostrado na resposta acima.Outra tarefa tediosa é reescrever seu módulo principal e criar um método "RemoveLinkByName".
fonte
Uma solução completa para remover os recursos do painel da conta inclui uma modificação do lado do cliente e do servidor. Se apenas o lado do cliente for removido e / ou oculto, não há nada que impeça que os usuários mais experientes em tecnologia ainda acessem os recursos criando manualmente as rotas em seu navegador ou usando um "ataque" CURL mais sofisticado (que pode incluir o apropriado Token CSRF e deslize para a direita).
O lado do cliente é facilmente alcançado por meio de atualizações XML, conforme indicado pela infinidade de respostas já fornecidas.
O lado do servidor é um pouco mais complexo e requer um entendimento da funcionalidade que está sendo removida.
Pessoalmente, eu usaria os observadores para retornar condicionalmente códigos de status HTTP proibidos em cada uma das rotas do recurso que está sendo removido. Para descobrir quais rotas observar, abra o arquivo do controlador associado e encontre cada uma das ações de front-end que não devem mais estar disponíveis. Em seguida, crie um módulo que defina os campos de configuração do sistema para desativar o referido recurso. Usando esses campos de configuração do sistema, atualize condicionalmente o XML do layout de front-end e, da mesma forma, retorne condicionalmente os códigos de resposta HTTP adequados para cada rota observada.
Exemplos de código para cada uma das etapas acima podem ser encontrados no seu mecanismo de pesquisa favorito.
fonte
Adicione a um arquivo local.xml esse código
Testado no Magento 1.7.0.2
fonte