Як додати блок на домашній сторінці над вмістом, під навігацією лише на домашній сторінці?


22

Як додати блок на домашню сторінку лише над розділом вмісту, але під навігацією, щоб розповсюджуватися по всій сторінці, використовуючи при цьому шаблон із двох стовпців?

Я використовую Magento версії 1.9.

Дивіться зображення:

Введіть тут опис зображення

Відповіді:


23

Вам взагалі не потрібно створювати модуль. Ви можете використовувати віджети в Magento 1.4+:

Клацніть на CMS> Віджети:

введіть тут опис зображення

Клацніть на "Додати новий екземпляр віджета":

введіть тут опис зображення

Виберіть "Статичний блок CMS" та назву вашої теми:

введіть тут опис зображення

Потім у розділі "Властивості фронтену" введіть назву та натисніть "Додати оновлення макета" та налаштуйте її так, як показано, щоб відображатись лише на головній сторінці основного блоку вмісту:

введіть тут опис зображення

У розділі Параметри віджетів виберіть статичний блок, який потрібно відобразити:

введіть тут опис зображення


Це найкраще з усіх трьох рішень ...
user1704524

Чи є спосіб це зробити в Magento 2?
kia4567

11

Створити local.xmlпідapp/design/frontend/your package/your template/layout/

І поставте код

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

Це хороший метод ...
user1704524

Дякую за це! Але я намагаюся це зробити перед сухарями. Я спробував раніше = "панірувальний сухар", але він говорить, що XML недійсний Як я можу змусити цю роботу?
Alyssa Reyes

@AlyssaReyes Якщо ви використовували "панірувальні сухарі", ви можете спробувати "панірувальні сухарі": p
Maarten Wolfsen


4

Ось дійсно швидкий спосіб зробити це ...

Створіть модуль:

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

Потім додайте наступне у свій конфігураційний файл

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

І у вашій темі додаток / дизайн / frontend / YOURTHEME / за замовчуванням / шаблон / сторінка / 1column-home.phtml

додати це:

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

Потім у своєму адміністраторі Magento створіть статичний блок під назвою "custom_block" або будь-який інший і додайте його до 1column-home.phtml після заголовка:

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

Не забудьте додати деякий вміст до статичного блоку та виберіть новий макет домашньої сторінки на вкладці «Дизайн» на сторінках CMS ...


0

Можна спробувати оновити макет

наступний код, як цей

<reference name="top.container">
    <block type="core/template"
                   name="linkcoupon_block"
                   as="linkcoupon_block"
                   template="linkcoupon/static.phtml"
                   output="toHtml"
            />
</reference>
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.