2014-02-26 3 views
0

이것은 아마도 매우 기본적인 질문 일 것입니다. 내 page.xml에서 사용자 정의 블록을 만들고 헤더 블록에 배치했습니다. 하지만 내 페이지의 맨 아래에 표시됩니다. 튜토리얼 및 사용자 가이드를 검색했지만 찾을 수 없습니다.Magento는 바닥 글에 표시를 차단합니까?

<block type="page/html_header" name="header" as="header"> 
    <block type="page/template_links" name="serie.menu" as="serieMenu" output="toHtml" template="page/html/series.phtml" /> 
</block> 

답변

1

HTML을 검사하여 블록 HTML이 렌더링되는 위치를 확인하십시오. 헤더에 HTML을 출력하고 있지만 맨 아래에 나타나는 경우 CSS를 볼 때 CSS를 배치하는 것이 가장 좋습니다.

page.xml은 수정하지 말고 layouts 디렉토리에 local.xml 파일을 만들고 여기에 블록 정의를 포함하는 것이 좋습니다. <reference> 태그를 사용하여 특정 블록을 타겟팅하고 블록을 그 블록 안에 삽입 할 수 있습니다.

예를 들어, header이라는 블록을 대상으로 지정하려는 경우 <reference name="header">을 사용하여 특정 블록을 대상으로 지정하고 고유 한 블록 정의를 정의 할 수 있습니다. 이제

<?xml version="1.0"?> 
<layout version="0.1.0"> 

    <!-- Default handle, loaded on most pages --> 
    <default> 
     <reference name="header"> 
      <block type="page/template_links" name="serie.menu" as="serieMenu" output="toHtml" template="page/html/series.phtml" /> 
     </reference> 
    </default> 

</layout> 

당신의 블록이 정의된다 :

당신은 파일에 다음 테마 디렉토리에있는 파일 /layouts/local.xml 파일을 생성하고, 포함 할 것이다, 이렇게하려면 이제 templates/page/header.phtml 파일에서 메시지를 호출 할 수 있습니다. 당신은 할 수 출력이처럼 블록 :

<?php echo $this->getChildHtml('serieMenu') ?> 

modifiyng 레이아웃 파일이 캐시 관리를 사용할 수있는 경우에 당신이 당신의 젠토 캐시를 플러시 할 필요가 기억하십시오.

+0

작동 방식을 조금 더 자세히 알려주지 만 문제가 해결되지는 않습니다. HTML은 완전히 바닥에 있습니다. 내 테마 (현대)에는 이미 page.xml이 있으므로 편집했지만 테스트를 위해 제안한대로했습니다. 여기에 작성한 텍스트가 포함 된 local.xml을 만들었습니다. 나는 내 header.phtml에 의 getChildHtml을 넣었고 일부 코드를 썼다. (그러나 echo "test"; in page/html/series.phtml) 여전히 바닥 글에 출력된다. 그래서 나는 생각했다. 내 블록에 문제가있다. (위에서 설명한 것들을 제외하고 나는 아무것도하지 않았다.) 출력 : http://magento.tijdelijkonline.nl/magento –

+0

나는 내 blockname을 childHtml에 잘못 작성했다. –

관련 문제