Bagaimana cara menambahkan blok di halaman beranda di atas konten, di bawah navigasi di halaman rumah saja?

22

Bagaimana cara menambahkan blok ke beranda hanya di atas bagian konten, tetapi di bawah navigasi untuk menyebar di seluruh halaman sementara masih menggunakan template dua kolom?

Saya menggunakan Magento versi 1.9.

Lihat gambar:

Masukkan deskripsi gambar di sini

pengguna9718
sumber

Jawaban:

23

Anda tidak perlu membuat modul sama sekali. Anda dapat menggunakan Widget di Magento 1.4+:

Klik pada CMS> Widget:

masukkan deskripsi gambar di sini

Klik "Tambahkan Instance Widget baru":

masukkan deskripsi gambar di sini

Pilih "Blok Statis CMS" dan nama tema Anda:

masukkan deskripsi gambar di sini

Kemudian, di bawah 'properti frontend' berikan judul dan klik "Tambahkan Pembaruan Tata Letak", dan konfigurasikan seperti yang ditunjukkan untuk ditampilkan hanya pada halaman beranda di blok konten utama:

masukkan deskripsi gambar di sini

Di bawah Opsi Widget pilih blok statis yang ingin Anda tampilkan:

masukkan deskripsi gambar di sini

Philwinkle
sumber
Ini adalah yang terbaik dari ketiga solusi ...
user1704524
Apakah ada cara untuk melakukan ini di Magento 2?
kia4567
11

Buat di local.xmlbawahapp/design/frontend/your package/your template/layout/

Dan letakkan kodenya

<?xml version="1.0"?>
<layout version="0.1.0">
    <cms_index_index>
        <reference name="root">
            <block type="core/template"  name="my.vblock" before="content" template="page/home/myblock.phtml" after="breadcrumbs" />
        </reference>
    </cms_index_index>
 </layout>
Amit Bera
sumber
Itu adalah metode yang bagus ...
user1704524
Terima kasih untuk ini! Tapi saya mencoba melakukannya sebelum remah roti. Saya mencoba sebelumnya = "breadcurmbs" tetapi katanya XML tidak valid. Bagaimana saya bisa membuat ini berfungsi?
Alyssa Reyes
@AlyssaReyes Jika Anda menggunakan 'breadcurmbs', Anda dapat mencoba 'remah roti': p
Maarten Wolfsen
6

Coba ini selalu berhasil

<reference name="after_body_start">
    <block type="core/template"  name="block_name" template="template/template.phtml" />
</reference>
Vaibhav Ahalpara
sumber
4

Inilah cara yang sangat cepat untuk melakukannya ...

Buat modul:

<?xml version="1.0"?>
<config>
    <modules>
        <Namespace_PageLayout>
            <active>true</active>
            <codePool>local</codePool>
            <depends>
                <Mage_Page/>
            </depends>
        </Namespace_PageLayout>
    </modules>
</config>

Kemudian tambahkan berikut ini ke file konfigurasi Anda

<?xml version="1.0"?>
<config>
    <modules>
        <Namespace_PageLayout>
            <version>0.1.0</version>
        </Namespace_PageLayout>
    </modules>
    <global>
        <page>
            <layouts>
                <homepage_layout translate="label">
                    <label>Homepage Layout</label>
                    <template>page/1column-home.phtml</template>
                </homepage_layout>
            </layouts>
        </page>
    </global>
</config>

Dan di aplikasi folder tema Anda / desain / frontend / YOURTHEME / default / template / halaman / 1column-home.phtml

Tambahkan ini:

<head>
    <?php echo $this->getChildHtml('head') ?>
</head>
<body<?php echo $this->getBodyClass()?' class="'.$this->getBodyClass().'"':'' ?>>
<?php echo $this->getChildHtml('after_body_start') ?>
<div class="wrapper">
    <?php echo $this->getChildHtml('global_notices') ?>
    <div class="page">
        <?php echo $this->getChildHtml('header') ?>
**<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('custom_block')->toHtml(); ?>** 
        <div class="main-container col1-layout cms-home">
            <div class="main">
                <?php echo $this->getChildHtml('breadcrumbs') ?>
                <div class="col-main">
                    <?php echo $this->getChildHtml('global_messages') ?>
                    <?php echo $this->getChildHtml('content') ?>
                </div>
            </div>
        </div>
        <?php echo $this->getChildHtml('footer_before') ?>
        <?php echo $this->getChildHtml('footer') ?>
        <?php echo $this->getChildHtml('global_cookie_notice') ?>
        <?php echo $this->getChildHtml('before_body_end') ?>
    </div>
</div>
<?php echo $this->getAbsoluteFooter() ?>
</body>
</html>

Kemudian di admin Magento Anda buat blok statis yang disebut 'custom_block' atau apa pun dan tambahkan ke 1column-home.phtml setelah tajuk:

<?php echo $this->getChildHtml('header') ?>
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('custom_block')->toHtml(); ?>

Pastikan untuk menambahkan beberapa konten ke blok statis dan pilih tata letak beranda baru Anda dari tab desain di halaman CMS ...

pengguna1704524
sumber
0

Dapat mencoba pembaruan tata letak

kode berikut seperti ini

<reference name="top.container">
    <block type="core/template"
                   name="linkcoupon_block"
                   as="linkcoupon_block"
                   template="linkcoupon/static.phtml"
                   output="toHtml"
            />
</reference>
Alex
sumber