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

użytkownik9718
źródło

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

philwinkle
źródło
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>
Amit Bera
źródło
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>
Vaibhav Ahalpara
źródło
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 ...

użytkownik1704524
źródło
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>
Alex
źródło