Come faccio ad aggiungere un blocco sulla home page sopra il contenuto, sotto la navigazione solo sulla home page?


22

Come faccio ad aggiungere un blocco alla home page solo sopra la sezione dei contenuti, ma sotto la navigazione per diffondermi sulla pagina mentre uso ancora il modello a due colonne?

Sto usando Magento versione 1.9.

Vedi l'immagine:

Inserisci qui la descrizione dell'immagine

Risposte:


23

Non è necessario creare un modulo. Puoi usare Widget in Magento 1.4+:

Fai clic su CMS> Widget:

inserisci qui la descrizione dell'immagine

Fai clic su "Aggiungi una nuova istanza del widget":

inserisci qui la descrizione dell'immagine

Seleziona "CMS Static Block" e il nome del tuo tema:

inserisci qui la descrizione dell'immagine

Quindi, in "Proprietà frontend" assegnagli un titolo e fai clic su "Aggiungi aggiornamento layout" e configuralo come mostrato per visualizzare solo sulla home page nel blocco di contenuto principale:

inserisci qui la descrizione dell'immagine

In Opzioni widget selezionare il blocco statico che si desidera visualizzare:

inserisci qui la descrizione dell'immagine


Questa è la migliore di tutte e tre le soluzioni ...
user1704524

C'è un modo per farlo in Magento 2?
kia4567,

11

Crea local.xmlsottoapp/design/frontend/your package/your template/layout/

E metti il ​​codice

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

Questo è un buon metodo ...
user1704524

Grazie per questo! Ma sto provando a farlo prima del pangrattato. Ho provato prima = "breadcurmbs" ma dice che l'XML non è valido. Come posso farlo funzionare?
Alyssa Reyes,

@AlyssaReyes Se hai usato 'breadcurmbs', potresti provare 'breadcrumb': p
Maarten Wolfsen,

6

Prova questo, funziona sempre

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

4

Ecco un modo davvero veloce per farlo ...

Crea un modulo:

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

Quindi aggiungi quanto segue al tuo file di configurazione

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

E nella cartella del tema app / design / frontend / YOURTHEME / default / template / page / 1column-home.phtml

Aggiungi questo:

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

Quindi nel tuo amministratore di Magento crea un blocco statico chiamato 'custom_block' o altro e aggiungilo a 1column-home.phtml dopo l'intestazione:

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

Assicurati di aggiungere un po 'di contenuto al blocco statico e seleziona il layout della tua nuova homepage dalla scheda di progettazione nelle pagine CMS ...


0

Può provare l'aggiornamento del layout

seguente codice come questo

<reference name="top.container">
    <block type="core/template"
                   name="linkcoupon_block"
                   as="linkcoupon_block"
                   template="linkcoupon/static.phtml"
                   output="toHtml"
            />
</reference>
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.