Jak dodać blok na stronie głównej nad treścią, pod nawigacją tylko na stronie głównej?


22

Jak dodać blok do strony głównej tylko nad sekcją treści, ale pod nawigacją, aby rozłożyć się po stronie, nadal używając szablonu dwukolumnowego?

Używam Magento w wersji 1.9.

Zobacz zdjęcie:

Wpisz opis zdjęcia tutaj

Odpowiedzi:


23

Nie musisz wcale tworzyć modułu. Możesz używać widżetów w Magento 1.4+:

Kliknij CMS> Widżety:

wprowadź opis zdjęcia tutaj

Kliknij „Dodaj nowe wystąpienie widgetu”:

wprowadź opis zdjęcia tutaj

Wybierz „Blok statyczny CMS” i nazwę motywu:

wprowadź opis zdjęcia tutaj

Następnie w „właściwościach interfejsu” nadaj mu tytuł i kliknij „Dodaj aktualizację układu” i skonfiguruj go tak, jak pokazano, aby wyświetlał się tylko na stronie głównej w głównym bloku treści:

wprowadź opis zdjęcia tutaj

W obszarze Opcje widgetu wybierz blok statyczny, który chcesz wyświetlić:

wprowadź opis zdjęcia tutaj


To najlepsze ze wszystkich trzech rozwiązań ...
user1704524

Czy jest na to sposób w Magento 2?
kia4567

11

Utwórz local.xmlpodapp/design/frontend/your package/your template/layout/

I wpisz kod

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

To dobra metoda ...
user1704524

Dzięki za to! Ale staram się to zrobić przed bułką tartą. Próbowałem wcześniej = "breadcurmbs", ale mówi, że XML jest nieprawidłowy. Jak mogę to zrobić?
Alyssa Reyes,

@AlyssaReyes Jeśli użyłeś „bułki chlebowe”, możesz spróbować „bułki tartej”: p
Maarten Wolfsen,

6

Spróbuj, to zawsze działa

<reference name="after_body_start">
    <block type="core/template"  name="block_name" template="template/template.phtml" />
</reference>

4

Oto naprawdę szybki sposób, aby to zrobić ...

Utwórz moduł:

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

Następnie dodaj następujące elementy do pliku konfiguracyjnego

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

A w folderze motywów app / design / frontend / YOURTHEME / default / template / page / 1column-home.phtml

Dodaj:

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

Następnie u administratora Magento utwórz blok statyczny o nazwie „custom_block” lub cokolwiek innego i dodaj go do 1column-home.phtml po nagłówku:

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

Pamiętaj, aby dodać trochę treści do bloku statycznego i wybrać nowy układ strony głównej z zakładki projektu na stronach CMS ...


0

Można spróbować zaktualizować układ

taki kod jak ten

<reference name="top.container">
    <block type="core/template"
                   name="linkcoupon_block"
                   as="linkcoupon_block"
                   template="linkcoupon/static.phtml"
                   output="toHtml"
            />
</reference>
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.