Mudança de posição do seletor de moeda em Magento
Pergunta
Atualmente, o selector de moeda está no topo, aqui está o meu site de desenvolvimento:
http://nordschleife.metaforix.net/118/118 /index.php/kyocera.html
No entanto, eu gostaria de mudar o seletor de moeda para pouco menos de “preço” de título da tabela.
Eu tentei
echo $this->getCurrency();
mas não há nada. Eu acho que preciso de algum método como getCurrencyHtml()
, mas parece que não há tal método a.
ou devo editar arquivos de layout, e como eu deveria ir sobre como fazer isso?
Solução
Eu posso mostrar-lhe uma maneira de fazer isso, mas, a fim de entender o que está acontecendo, você precisa ter pelo menos uma compreensão básica de como arquivos de layout trabalho de Magento. Por que você deve ler o guia do designer aqui e uma explicação básica de como tudo funciona aqui .
Agora, existem várias formas de lidar com isso, mas eu acho que a maneira mais fácil é simplesmente usar o bloco de moeda existente. Vendo como você estará colocando-o em que cela minúscula Eu suponho que você não vai precisar da "Seleccione a sua moeda" manchete. Então, vamos precisar de um novo modelo.
Um bloco em Magento consiste em dois arquivos, uma classe bloco que faz todo o trabalho de gerar conteúdo dinâmico e um arquivo de modelo que usa a classe bloco métodos, juntamente com alguns html para criar o resultado final. O trabalho pesado de obter as opções de moeda já é feito pela classe bloco por isso, se podemos usar esse emparelhado com um novo arquivo de modelo que vai ser definido.
A declaração existente nos arquivos de layout e, especificamente directory.xml seja
<block type="directory/currency" name="currency" before="catalog.leftnav" template="directory/currency.phtml"/>
Assim, o arquivo de modelo é app \ projeto \ frontend [interface] [tema] \ template \ directory \ currency.phtml
Copiar que a currency2.phtml e lá remover o cabeçalho.
Agora, para criar um novo bloco chamado "currency2" que consiste na classe bloco velho eo novo arquivo de modelo que escrever
<block type="directory/currency" name="currency2" as="currency2" template="directory/currency2.phtml"/>
Vamos usar isso em /template/catalog/product/list.phtml catalog.xml tão aberto e colocar a nova declaração bloco sob
<block type="catalog/product_list" name="product_list" template="catalog/product/list.phtml">
na seção apropriada (presumo catalog_category_default).
/template/catalog/product/list.phtml Finalmente aberto e add
<?php echo $this->getChildHtml('currency2'); ?>
onde você deseja que o bloco seja exibido.