답변:
모듈을 전혀 만들 필요가 없습니다. Magento 1.4 이상에서 위젯을 사용할 수 있습니다 :
CMS> 위젯을 클릭하십시오.
"새 위젯 인스턴스 추가"를 클릭하십시오.
"CMS 정적 블록"과 테마 이름을 선택하십시오.
그런 다음 '프론트 엔드 속성'에서 제목을 지정하고 "레이아웃 업데이트 추가"를 클릭하고 기본 컨텐츠 블록의 홈 페이지에만 표시되도록 구성하십시오.
위젯 옵션에서 표시하려는 정적 블록을 선택하십시오.
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>
그리고 테마 폴더 app / design / frontend / YOURTHEME / default / template / page / 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 페이지의 디자인 탭에서 새 홈페이지 레이아웃을 선택하십시오 ...