ฉันจะเพิ่มบล็อกในหน้าแรกเหนือเนื้อหาใต้การนำทางในหน้าแรกเท่านั้นได้อย่างไร


22

ฉันจะเพิ่มบล็อกในหน้าแรกได้เฉพาะด้านบนของส่วนเนื้อหา แต่ใต้การนำทางเพื่อกระจายไปทั่วหน้าในขณะที่ยังคงใช้เทมเพลตสองคอลัมน์

ฉันใช้ Magento เวอร์ชั่น 1.9

ดูภาพ:

ป้อนคำอธิบายภาพที่นี่

คำตอบ:


23

คุณไม่จำเป็นต้องสร้างโมดูลเลย คุณสามารถใช้วิดเจ็ตใน Magento 1.4+:

คลิกที่ CMS> วิดเจ็ต:

ป้อนคำอธิบายรูปภาพที่นี่

คลิกที่ "เพิ่มเครื่องมืออินสแตนซ์ใหม่":

ป้อนคำอธิบายรูปภาพที่นี่

เลือก "CMS Static Block" และชื่อของธีมของคุณ:

ป้อนคำอธิบายรูปภาพที่นี่

จากนั้นภายใต้ 'คุณสมบัติส่วนหน้า' ให้ชื่อและคลิก "เพิ่มการปรับปรุงเค้าโครง" และกำหนดค่าตามที่แสดงเพื่อแสดงเฉพาะในหน้าแรกในบล็อกเนื้อหาหลัก:

ป้อนคำอธิบายรูปภาพที่นี่

ภายใต้ Widget Options ให้เลือกบล็อกแบบคงที่ที่คุณต้องการแสดง:

ป้อนคำอธิบายรูปภาพที่นี่


นี่คือทางออกที่ดีที่สุดของทั้งสามวิธี ...
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

ขอบคุณสำหรับสิ่งนี้! แต่ฉันพยายามที่จะทำก่อนที่เกล็ดขนมปัง ฉันลองก่อน = "breadcurmbs" แต่บอกว่า XML ไม่ถูกต้อง ฉันจะทำงานนี้ได้อย่างไร
Alyssa Reyes

@AlyssaReyes หากคุณใช้ 'breadcurmbs' คุณสามารถลอง 'breadcrumbs': p
Maarten Wolfsen

6

ลองใช้มันใช้งานได้เสมอ

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

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>

และในแอพโฟลเดอร์ธีมของคุณ / การออกแบบ / ส่วนหน้า / 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>
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.