홈 페이지의 탐색 아래에서 컨텐츠 위의 홈 페이지에 블록을 추가하려면 어떻게합니까?


22

콘텐츠 섹션 위에 만 있지만 탐색 아래에 블록을 추가하여 2 열 템플릿을 사용하면서 페이지 전체에 퍼지는 블록을 어떻게 추가합니까?

Magento 버전 1.9를 사용하고 있습니다.

이미지 참조 :

여기에 이미지 설명을 입력하십시오

답변:


23

모듈을 전혀 만들 필요가 없습니다. Magento 1.4 이상에서 위젯을 사용할 수 있습니다 :

CMS> 위젯을 클릭하십시오.

여기에 이미지 설명을 입력하십시오

"새 위젯 인스턴스 추가"를 클릭하십시오.

여기에 이미지 설명을 입력하십시오

"CMS 정적 블록"과 테마 이름을 선택하십시오.

여기에 이미지 설명을 입력하십시오

그런 다음 '프론트 엔드 속성'에서 제목을 지정하고 "레이아웃 업데이트 추가"를 클릭하고 기본 컨텐츠 블록의 홈 페이지에만 표시되도록 구성하십시오.

여기에 이미지 설명을 입력하십시오

위젯 옵션에서 표시하려는 정적 블록을 선택하십시오.

여기에 이미지 설명을 입력하십시오


이 ... 세 가지 솔루션의 최고
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

이것에 감사합니다! 그러나 나는 빵 부스러기 전에 그것을하려고합니다. before = "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>

그리고 테마 폴더 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 페이지의 디자인 탭에서 새 홈페이지 레이아웃을 선택하십시오 ...


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.