Magento2 - Come mostrare un contenuto a blocchi sulla homepage


14

Come mostrare un contenuto a blocchi sulla homepage?

Dopo aver installato magento2 senza dati di esempio, ho scelto il tema 'Magento Luma' e ho aggiunto il blocco 'Blocco Home Page' e copiato il codice dall'archivio di esempio.

ma nulla appare nella home page, come mostrare il mio blocco cms nella home page come negozio di esempio?

casa mia inserisci qui la descrizione dell'immagine

negozio di esempio

inserisci qui la descrizione dell'immagine


Intendi mostrare cms personalizzati per bloccare testo / contenuto o pannello di amministrazione creato per cms bloccare testo / contenuto?
Bojjaiah,

@magentotwo Creo un blocco cms personalizzato Voglio sapere come mostrare questo blcok sulla home page
Luna

hai provato sotto la soluzione?
Bojjaiah,

Il contenuto della home page nei dati di esempio proviene dai widget.

Risposte:


45

nel pannello di amministrazione vai su Contenuto-> Pagine e modifica la pagina iniziale e se hai creato il blocco statico dal pannello di amministrazione aggiungi quanto segue alla scheda Contenuto

{{block class="Magento\Cms\Block\Block" block_id="your_block_identifier"}}

e se hai creato un blocco personalizzato utilizzando un modulo aggiungi quanto segue alla scheda del contenuto della home page

{{block class="Vendor\ModuleName\Block\BlockName" template="Vendor_ModuleName::yourcustomblock.phtml"}} 

quindi salvare le modifiche e svuotare la cache di Magento e distribuire / eliminare i contenuti statici ora aggiorna la home page.

Se questo non ha funzionato fammelo sapere


Esso funziona magicamente! Grazie mille Chamal!
Luna,

C'è qualche link che posso saperne di più su questo? classe di blocco magento e codice identificativo di blocco per front-end?
Luna,

1
Ho trovato devdocs.magento.com/guides/v2.0/howdoi/frontend/… questa è una buona guida per comprendere l'architettura a blocchi di magento 2
Chamal Chamikara,

Dal mio modulo cms_index_index.xml, l'ho aggiunto nel contenuto della Home Page - <block class="Vendor\Module\Block\Index" name="modulename" template="module.phtml"></block> and It says Modello di filtro errori: File modello non valido: 'Vendor_Module :: module.phtml' nel modulo: Nome del blocco 'Vendor_Module': 'index_0'``
Slimshadddyyy

10

prova questo oppure pubblica il tuo codice quindi ti suggeriremo dove hai sbagliato.

File di blocco

<?php
namespace Learning\SmartSearch\Block;

class SmartSearch extends \Magento\Framework\View\Element\Template
{
    public function getTitle()
    {
        return "Smart Search";
    }
}

etc / Module.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd">
    <module name="Learning_SmartSearch" setup_version="1.0.0">
    </module>
</config>

visualizzare / layout / cms_index_index.xml

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="1column" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceContainer name="content">
            <block class="Learning\SmartSearch\Block\SmartSearch" template="Learning_SmartSearch::html/cms.phtml"/>
        </referenceContainer>
    </body>
</page>

visualizzare / templates / html / cms.phtml

<h1><?php echo $block->getTitle(); ?></h1>

dopo aver creato la cache di flush.

Spero che questo ti possa aiutare. Se non stai ottenendo risultati fammelo sapere.


La ringrazio per la risposta! Ci proverò più tardi e ti farò sapere il risultato
Luna,

3

Nella home page è possibile chiamare il blocco statico come indicato di seguito

{{block class="Magento\Cms\Block\Block" block_id="your_block_identifier"}}

Nella pagina html è possibile chiamare il blocco statico come indicato di seguito.

<?php echo $this->getLayout()->createBlock('Magento\Cms\Block\Block')->setBlockId('block_identifier')->toHtml();?>
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.