Pergunta

No meu projeto Magento atual Wein-Partner.at Tenho que preparar várias lojas em um site.

Para as diferentes lojas haverá, sem dúvida, idiomas diferentes, o que significa também múltiplas storeviews.No entanto, o seletor de idioma desapareceu e não tenho ideia de para onde ir.Curiosamente, tenho um seletor de moeda.

Existe uma maneira de criar um "seletor de loja" na parte superior, e não apenas um seletor de visualização de loja?

Preciso ativar "adicionar código de loja ao URL" para isso?

O plano é basicamente o seguinte:

Tem o site (wein-partner.at) que vai abrir na página inicial, mostrando a loja principal.Abaixo disso, se você clicar em uma categoria, você entrará na visualização de categoria com tags adicionais para escolher (região, preço, ..).Se você clicar em, digamos, uma região que tenha apenas um enólogo, você deverá ser levado à subloja do enólogo mostrando o logotipo dele em vez do nosso (atualmente não posso mudar de loja, então sempre mostra a visão da loja do vendedor).

O arquivo de modelo é o mesmo que a visualização por categoria, exceto o logotipo (cada fornecedor também tem suas próprias visualizações de loja [provavelmente inglês, alemão, francês e italiano]).

Resumindo, isso significa que haverá 4 níveis (Site - loja principal - loja/grupo de lojas - storeview/loja)

editar01: Encontrei isso até agora (app/design/frontend/default/your_theme/template/page/switch)

<?php if(count($this->getGroups())>1): ?>
<div class="store-switcher">
    <label for="select-store"><?php echo $this->__('Select Store:') ?></label>
    <select id="select-store" title="<?php echo $this->__('Select Store') ?>" onchange="location.href=this.value">
    <?php /*foreach ($this->getStores() as $_store): ?>
        <option value="<?php echo $_store->getUrl('') ?>"<?php if($_store->getId()==$this->getCurrentStoreId()): ?> selected="selected"<?php endif; ?>><?php echo $_store->getName() ?></option>
    <?php endforeach;*/ ?>
    <?php foreach ($this->getGroups() as $_group): ?>
        <?php $_selected = ($_group->getId()==$this->getCurrentGroupId()) ? ' selected="selected"' : '' ?>
        <option value="<?php echo $_group->getHomeUrl() ?>"<?php echo $_selected ?>><?php echo $this->escapeHtml($_group->getName()) ?></option>
    <?php endforeach; ?>
    </select>
</div>
<?php endif; ?>
Foi útil?

Solução

O switcher de loja é carregado no tema padrão por meio do arquivo de layout (XML).

app/design/frontend/SEU_PACKAGE/SEU_TEME/layout/page.xml

Procure a seguinte linha de texto:

<block type="page/switch" name="store_switcher" as="store_switcher" template="page/switch/stores.phtml"/>

Se você copiar essa linha de XML para o local desejado, poderá adicionar uma chamada para exibi-la em seu arquivo de modelo (phtml) da seguinte forma:

<?php echo $this->getChildHtml('store_switcher') ?>

Outras dicas

Localizar page.xml em app/design/frontend/base/default/layout diretório.

Abra o arquivo com um editor de texto e procure o código abaixo.

<block type="page/switch" name="store_switcher" as="store_switcher" template="page/switch/stores.phtml"/>

Para exibir o switcher de loja no cabeçalho da página, basta alterar a localização do código acima.Este código é inserido em page/html_footerbloquear.Recorte e cole embaixo do page/html_header bloquear.

<block type="page/html_header" name="header" as="header">

Agora, para exibir o switcher de loja, vá para header.phtml no app/design/frontend/base/default/template/page/html diretório e insira o seguinte código.

<?php echo $this->getChildHtml('store_switcher') ?>

certifique-se de que no seu tema o arquivo stores.phtml esteja disponível se não estiver disponível, obtenha este arquivo do magento novo na pasta base template/page/switch/

então certifique-se de colocar o código corretamente!espero que funcione bem!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top