ฉันจะเพิ่มบล็อกในหน้าแรกได้เฉพาะด้านบนของส่วนเนื้อหา แต่ใต้การนำทางเพื่อกระจายไปทั่วหน้าในขณะที่ยังคงใช้เทมเพลตสองคอลัมน์
ฉันใช้ Magento เวอร์ชั่น 1.9
ดูภาพ:
ฉันจะเพิ่มบล็อกในหน้าแรกได้เฉพาะด้านบนของส่วนเนื้อหา แต่ใต้การนำทางเพื่อกระจายไปทั่วหน้าในขณะที่ยังคงใช้เทมเพลตสองคอลัมน์
ฉันใช้ Magento เวอร์ชั่น 1.9
ดูภาพ:
คำตอบ:
คุณไม่จำเป็นต้องสร้างโมดูลเลย คุณสามารถใช้วิดเจ็ตใน Magento 1.4+:
คลิกที่ CMS> วิดเจ็ต:
คลิกที่ "เพิ่มเครื่องมืออินสแตนซ์ใหม่":
เลือก "CMS Static Block" และชื่อของธีมของคุณ:
จากนั้นภายใต้ 'คุณสมบัติส่วนหน้า' ให้ชื่อและคลิก "เพิ่มการปรับปรุงเค้าโครง" และกำหนดค่าตามที่แสดงเพื่อแสดงเฉพาะในหน้าแรกในบล็อกเนื้อหาหลัก:
ภายใต้ Widget Options ให้เลือกบล็อกแบบคงที่ที่คุณต้องการแสดง:
สร้าง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>
ลองใช้มันใช้งานได้เสมอ
<reference name="after_body_start">
<block type="core/template" name="block_name" template="template/template.phtml" />
</reference>
นี่เป็นวิธีที่รวดเร็วในการทำ ...
สร้างโมดูล:
<?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 ...
ลองปรับปรุงการจัดวาง
รหัสดังต่อไปนี้
<reference name="top.container">
<block type="core/template"
name="linkcoupon_block"
as="linkcoupon_block"
template="linkcoupon/static.phtml"
output="toHtml"
/>
</reference>