Magento2 - Cara menampilkan konten blokir di beranda

14

Bagaimana cara menampilkan konten blokir di beranda?

Setelah menginstal magento2 tanpa data sampel, saya memilih tema 'Magento Luma' dan menambahkan blok 'Home Page Block' dan menyalin kode dari toko sampel.

tapi tidak ada yang muncul di halaman rumah, bagaimana cara menunjukkan blok cms saya di halaman rumah seperti toko sampel?

rumah saya masukkan deskripsi gambar di sini

toko sampel

masukkan deskripsi gambar di sini

Bulan
sumber
Maksud Anda menampilkan teks / konten blok cms khusus atau panel admin membuat teks / konten blok cms?
Bojjaiah
@magentotwo Saya membuat blok cms khusus. Saya ingin tahu cara menunjukkan blcok ini di beranda
Moon
Sudahkah Anda mencoba solusi di bawah ini?
Bojjaiah
Konten halaman rumah dalam data sampel berasal dari widget.

Jawaban:

45

di panel admin pergi ke Konten-> Halaman dan edit halaman rumah dan jika Anda membuat blok statis Anda dari panel admin tambahkan berikut ke tab Konten

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

dan jika Anda membuat blok khusus menggunakan modul tambahkan berikut ke tab konten halaman rumah

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

lalu simpan perubahan dan siram cache magento dan gunakan / hapus konten statis sekarang segarkan halaman beranda.

Jika ini tidak berhasil, beri tahu saya

Chamal Chamikara
sumber
Itu bekerja seperti pesona! Terima kasih banyak Chamal!
Bulan
Apakah ada tautan yang bisa saya pelajari lebih lanjut tentang ini? kelas blok magento dan blokir kode id untuk front-end?
Bulan
1
Saya menemukan devdocs.magento.com/guides/v2.0/howdoi/frontend/... ini adalah panduan yang bagus untuk memahami arsitektur blok 2
magento
Dari modul saya cms_index_index.xml, saya menambahkan ini di konten Halaman Utama - <block class="Vendor\Module\Block\Index" name="modulename" template="module.phtml"></block> and It says Templat pemfilteran kesalahan: File template tidak valid: 'Vendor_Module :: module.phtml' dalam modul: nama blok 'Vendor_Module': 'index_0'``
Slimshadddyyy
10

coba ini atau posting kode Anda maka kami akan menyarankan Anda di mana Anda salah.

Blokir file

<?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>

lihat / tata letak / 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>

lihat / templat / html / cms.phtml

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

setelah membuat cache flush.

Saya harap ini akan membantu Anda. Jika Anda tidak mendapatkan hasil, beri tahu saya.

Bojjaiah
sumber
Terima kasih atas jawaban Anda! Saya akan mencoba nanti dan memberi tahu Anda hasilnya
Bulan
3

Di halaman beranda Anda dapat memanggil blok statis seperti cara yang disebutkan di bawah ini

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

Di halaman html Anda dapat memanggil blok statis seperti cara yang disebutkan di bawah ini.

<?php echo $this->getLayout()->createBlock('Magento\Cms\Block\Block')->setBlockId('block_identifier')->toHtml();?>
Naveenbos
sumber