Wie füge ich einen Block auf der Homepage oberhalb des Inhalts und unterhalb der Navigation auf der Homepage hinzu?


22

Wie füge ich der Homepage einen Block nur oberhalb des Inhaltsbereichs, aber unterhalb der Navigation hinzu, um ihn auf der Seite zu verteilen, während ich weiterhin die zweispaltige Vorlage verwende?

Ich benutze Magento Version 1.9.

Siehe Bild:

Geben Sie hier eine Bildbeschreibung ein

Antworten:


23

Sie müssen überhaupt kein Modul erstellen. Sie können Widgets in Magento 1.4+ verwenden:

Klicken Sie auf CMS> Widgets:

Bildbeschreibung hier eingeben

Klicken Sie auf "Neue Widget-Instanz hinzufügen":

Bildbeschreibung hier eingeben

Wählen Sie "CMS Static Block" und den Namen Ihres Themas:

Bildbeschreibung hier eingeben

Geben Sie dann unter "Frontend-Eigenschaften" einen Titel ein, klicken Sie auf "Layout-Aktualisierung hinzufügen" und konfigurieren Sie es so, dass es nur auf der Startseite im Hauptinhaltsblock angezeigt wird:

Bildbeschreibung hier eingeben

Wählen Sie unter Widget-Optionen den statischen Block aus, den Sie anzeigen möchten:

Bildbeschreibung hier eingeben


Dies ist die beste von allen drei Lösungen ...
user1704524

Gibt es eine Möglichkeit, dies in Magento 2 zu tun?
kia4567

11

Erstellen Sie local.xmlunterapp/design/frontend/your package/your template/layout/

Und geben Sie den Code ein

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

Das ist eine gute Methode ...
user1704524

Danke dafür! Aber ich versuche es vor dem Paniermehl. Ich habe zuvor versucht = "breadcurmbs", aber es heißt, die XML ist ungültig. Wie kann ich das schaffen?
Alyssa Reyes

@AlyssaReyes Wenn Sie "Semmelbrösel" verwendet haben, können Sie "Semmelbrösel" probieren: p
Maarten Wolfsen

6

Versuchen Sie dies, es funktioniert immer

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

4

Hier ist ein sehr schneller Weg, dies zu tun ...

Erstellen Sie ein Modul:

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

Fügen Sie dann Folgendes zu Ihrer Konfigurationsdatei hinzu

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

Und in Ihrem Themenordner app / design / frontend / YOURTHEME / default / template / page / 1column-home.phtml

füge das hinzu:

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

Dann erstellen Sie in Ihrem Magento-Administrator einen statischen Block namens 'custom_block' oder was auch immer und fügen ihn nach dem Header zu 1column-home.phtml hinzu:

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

Stellen Sie sicher, dass Sie dem statischen Block Inhalte hinzufügen und Ihr neues Homepage-Layout auf der Registerkarte "Design" in den CMS-Seiten auswählen ...


0

Kann versuchen, das Layout zu aktualisieren

folgenden Code wie folgt

<reference name="top.container">
    <block type="core/template"
                   name="linkcoupon_block"
                   as="linkcoupon_block"
                   template="linkcoupon/static.phtml"
                   output="toHtml"
            />
</reference>
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.