Você já tentou a ação setTemplate ao referenciar o contêiner raiz, permite alternar modelos para 1 coluna, 2 colunas à esquerda, 2 colunas à direita ou 3 colunas?
Aditya Shah
Eu tentei <move element = "product_list_toolbar" destination = "columns" antes = "div.sidebar.main" />
Infelizmente isso não está funcionando. A barra de ferramentas ainda simplesmente não será renderizada. E eu não entendo o porquê. Não há sequer uma chamada para seu toHtmlmétodo.
O principal problema é a antiga base de código da barra de ferramentas e o relacionamento da lista de produtos. Algumas delas já foram corrigidas no Magento 2.2.x, mas ainda existem problemas. Por exemplo, não importa onde ou como você coloca sua barra de ferramentas no layout, o bloco da lista de produtos sempre moverá a barra de ferramentas novamente como seu próprio filho (consulte este comentário no Github ).
Aqui está mais uma solução que é uma combinação da solução de Nicholas Miller e kunj. A vantagem sobre a solução de Nicholas Miller e Chirag Patel é que a coleção de produtos não será carregada duas vezes.
Fornecedor / Módulo / Bloco / Produto / Lista de Produtos / Toolbar.php
Da mesma forma, o nome correto do bloco da barra de ferramentas também deve ser definido adequadamente no bloco da lista de produtos (se o nome da barra de ferramentas personalizada for algo diferente do padrão).
Atualizar
Para que esta solução funcione, você precisa de pelo menos Magento 2.2.6.
Isso não está funcionando no 2.2.5. Qualquer ajuda seria muito apreciada.
Cypher909
Meu código foi testado com 2.2.6. Não tenho certeza se existem diferenças significativas entre 2.2.5e em 2.2.6relação ao bloco da lista de produtos ou ao bloco da barra de ferramentas.
Fritzmg 24/11/18
Todos esses arquivos e códigos são necessários para fazer a extensão? Eu também adicionei um module.xml. Não tenho certeza se falta alguma coisa.
Cypher909
Também para o arquivo Vendor / Module / Block / Product / ProductList.php, ele deveria ser o ListProduct.php?
Cypher909
11
Você está certo de que funciona no 2.2.6. Não tenho certeza qual é a diferença, mas vou atualizar. Obrigado!
precisa saber é o seguinte
1
Basta adicionar o código abaixo no catalog_category_view.xmlarquivo em seu tema personalizado: -
Respostas:
Tente isso.
1. Crie o arquivo catalog_category_view em
2. Crie o arquivo list2.phtml em
Nota: Aqui, mudei a barra de ferramentas para a barra lateral (navegação em camadas).
Eu espero que dê certo!
fonte
Eu acho que não está se movendo usando XML, porque está comentando no arquivo module-catalog / templates / product / list.phtml .
Também é definido no bloco module-catalog / view / frontend / layout / catalog_category_view.xml category.products.list
fonte
Experimente este código Crie o módulo personalizado.
Adicione este código em
catalog_category_view.xml
:Agora, crie
Toolbar.php
um novo arquivo em{{Package Name}}\{{Your Module Name}}\Block\Toolbar
Em seguida, passe abaixo do código nesse novo arquivo:Agora remova o bloco padrão do layout da exibição por categoria.
fonte
toHtml
método.$this->setChild()
chamadaconfigureToolbar
doProductList
. Veja github.com/magento/magento2/issues/7253#issuecomment-439630823Você pode mover a barra lateral antes da área de conteúdo principal usando o código de layout abaixo:
Etapa 1: crie / copie o arquivo 2columns-left.xml na sua pasta Magento_Theme / page_layout / e substitua o conteúdo abaixo:
Além disso, você pode alterar / adicionar suas classes css no container.
fonte
1. maneira do módulo.
Crie um novo módulo Vendor_Module
Adicione um plug-in para impedir que a barra de ferramentas padrão seja exibida.
Adicione um novo bloco à página da categoria.
2. Você pode aplicar as mesmas alterações ao seu tema
Você não precisa de plug-in porque pode comentar uma linha onde a barra de ferramentas padrão é renderizada.
$block->getToolbarHtml()
Linhas de comentário emCrie a mesma classe da barra de ferramentas e coloque-a no layout xml.
fonte
O principal problema é a antiga base de código da barra de ferramentas e o relacionamento da lista de produtos. Algumas delas já foram corrigidas no Magento 2.2.x, mas ainda existem problemas. Por exemplo, não importa onde ou como você coloca sua barra de ferramentas no layout, o bloco da lista de produtos sempre moverá a barra de ferramentas novamente como seu próprio filho (consulte este comentário no Github ).
Aqui está mais uma solução que é uma combinação da solução de Nicholas Miller e kunj. A vantagem sobre a solução de Nicholas Miller e Chirag Patel é que a coleção de produtos não será carregada duas vezes.
Fornecedor / Módulo / Bloco / Produto / Lista de Produtos / Toolbar.php
Fornecedor / Módulo / Bloco / Produto / ListProduct.php
etc / frontend / di.xml
Agora você deve poder mover o
product_list_toolbar
livremente sem problemas. por exemplo: catalog_category_view.xml :Como bônus adicional, você também pode definir um nome de bloco de lista de produtos personalizado, se precisar:
Da mesma forma, o nome correto do bloco da barra de ferramentas também deve ser definido adequadamente no bloco da lista de produtos (se o nome da barra de ferramentas personalizada for algo diferente do padrão).
Atualizar
Para que esta solução funcione, você precisa de pelo menos Magento
2.2.6
.fonte
2.2.6
. Não tenho certeza se existem diferenças significativas entre2.2.5
e em2.2.6
relação ao bloco da lista de produtos ou ao bloco da barra de ferramentas.Basta adicionar o código abaixo no
catalog_category_view.xml
arquivo em seu tema personalizado: -fonte