Magento 1 Widget de configuração no back-end - como faço para subir

11

Eu tenho uma configuração de widget em todas as páginas de categoria via back - end -> CMS -> Widgets

Agora, quando uso esse método, seleciono um bloco para as páginas de categoria e o bloco aparece muito bem. Está na parte inferior de todas as outras informações na coluna da esquerda.

Mas como movo o bloco para cima? (acima em camadas etc) ...

A alternativa é usar local.xml, que eu não prefiro + ele também aparece em TODOS os meus sites que usam o mesmo tema.

snh_nl
fonte
3
Talvez tente usar o custom layout updatescampo na categoria para adicionar o bloco e use before=""ou after=""para posicioná-lo.
23813 Rick Kuipers

Respostas:

12

O problema é que o Magento não possui um contêiner de widget no topo da coluna esquerda. Você pode criar esse contêiner em duas etapas:

  1. Crie seu contêiner de blocos de widgets no arquivo local.xml :

    <layout>
       <!-- category pages with layered navigation -->
       <catalog_category_layered>
            <update handle="custom_top_container" />
       </catalog_category_layered>
       <!-- category pages without layered navigation -->
       <catalog_category_default>
            <update handle="custom_top_container" />
       </catalog_category_default>
       <!-- custom block container on that page -->
       <custom_top_container>
            <reference name="left">
               <block name="left_top" type="core/text_list" before="-" translate="label">
                    <label>Left Column Top</label>
               </block>
            <reference>
       </custom_top_container>
    </layout>

    No seguinte exemplo catalog_category_default e catalog_category_layered são as alças para páginas da categoria e custom_top_container alça está incluído nestes páginas por atualização instrução layout. O novo bloco left_top é um tipo de Mage_Core_Block_Text_List , que mostra a saída concatenada de blocos filhos atribuídos a ele, portanto ficará vazio se nenhum widget for adicionado a ele. Agora, quando o layout estiver pronto para a configuração do widget, verifique a próxima etapa.

  2. Crie o arquivo widget.xml no diretório etc do seu tema (se você não preservar essa configuração do tema que está estendendo, será necessário copiá-lo desse tema para o seu). Este widget.xml deve conter informações adicionais para o Magento saber quais widgets suportam seu contêiner recém-criado:

    <widgets>
        <[widget_id]>
            <supported_blocks>
                <left_column_top>
                    <block_name>left_top</block_name>
                </left_column_top>
             </supported_blocks>
        </[widget_id]>
    </widgets>

    Este arquivo de configuração permite ao Magento saber quais blocos podem ser usados ​​para recuperar um possível contêiner no painel de administração.

Por isso, você pode ir no painel de administração e escolher o contêiner superior da coluna esquerda para atualizar o layout do widget.

Ivan Chepurnyi
fonte
Obrigado Ivan. E myabe a melhor maneira - se estamos editando local.xml de qualquer maneira - é também iimmediately chamar o bloco CMS (apenas uma pequena imagem que foi significou para o canto superior esquerdo)
snh_nl
2

Você pode tentar ligar nesse bloco usando

<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('BLOCK_ID_HERE')->toHtml() ?>

Insira o código acima em:

frontend / padrão / YOURTHEME / template / catalog / navigation / sidebar.phtml

acima do código que exibe o menu do catálogo.

Para impedir a exibição em sites, use temas diferentes por site.

Thomas Mongan
fonte