2012-05-19 2 views
2
내가 바닥 글에 상단 링크 아래에 표시 할 수있는 방법

,바닥 글에서 자판으로 상단 링크를 표시하는 방법은 무엇입니까? 내가 Footer.phtml 파일의 코드를 아래에 사용</p> <p><img src="https://i.stack.imgur.com/aeTJH.png" alt="enter image description here"></p> <p>

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

하지만 링크가 표시되지 않습니다? 내가 어떻게 할 수 있니? 사전

에서

감사

footer.phtml

<div class="footer-container"> 
    <div class="footer"> 
     <?php echo $this->getChildHtml() ?> 
     <?php echo $this->getChildHtml('newsletter') ?> 

     <?php //echo $this->getLayout()->createBlock('cms/block')->setBlockId('sample_links')->toHtml() ?> 

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

    <?php echo $this->getChildHtml('top.links'); ?> 


     <p class="bugs"><?php echo $this->__('Help Us to Keep Magento Healthy') ?> - <a href="http://www.magentocommerce.com/bug-tracking" onclick="this.target='_blank'"><strong><?php echo $this->__('Report All Bugs') ?></strong></a> <?php echo $this->__('(ver. %s)', Mage::getVersion()) ?></p> 
     <address><?php echo $this->getCopyright() ?></address> 
    </div> 
</div> 
</div> 

답변

10

고전 학습 - 투 - 테마 - 마 젠토 질문!

하나의 블록과 다른 블록의 관계는 템플릿에서 가장 분명하게 나타납니다 (귀하의 현재 노력에서 보여 주듯이). 부모 (꼬리말, 경우에 따라)가 다른 블록의 렌더링을 시작하는 기능은 부모 - 자식 관계를 설정해야합니다. 이는 일반적으로 레이아웃 업데이트 XML에서 발생합니다.

이 관계가 핵심이라면, 당신은 기본/기본 테마의 레이아웃 /에서 page.xml에 다음 파일을 참조 할 가능성이 높습니다 : 당신이 추가되기 때문에, 귀하의 경우에는

<block type="page/html_footer" name="footer" ...> 
    <!-- other child block directives --> 
    <block type="page/template_links" name="top.links" as="topLinks"/> 
</block> 

을 두 기존 블록 사이의 관계를 설정하려면 local.xml이라는 최종 최종 사용자 레이아웃 xml 파일의 블록 인스턴스간에 관계를 설정해야합니다. 사용자 정의 테마의 레이아웃 폴더에 배치해야합니다. 다음과 같이 표시되어야합니다 :

<?xml version="1.0"?> 
<layout> 
    <default><!-- effectively: "do this on all pages" --> 
     <reference name="footer"><!-- parent block --> 
      <action method="insert"><!-- this PHP class method sets the relationship --> 
       <block_name_to_insert>top.links</block_name_to_insert><!--use the block name in the layout, not the alias. See Mage_Core_Block_Abstract::insert() --> 
       <sort_relative_to_other_childname/><!-- empty val is fine here --> 
       <sort_before_or_after/><!-- not relevant --> 
       <alias>topLinks</alias><!-- because you are using the original alias, need to re-specify that here --> 
      </action> 
     </reference> 
    </default> 
</layout> 
+0

죄송합니다. 머리글과 바닥 글 모두에 표시해야합니다. 이제 링크가 바닥 글에 두 번 표시됩니다. –

+0

아! 나는 빈'getChildHtml()'호출을 잊어 버렸습니다. 모든 자식 블록을 에코합니다. 사용자 정의 레이아웃 업데이트 XML을 생략하고'getChildHtml ('top.links') 대신'getBlockHtml ('top.links')'를 사용하면됩니다. 그러면 레이아웃 객체의 링크 블록이 그 이름으로 당겨집니다. – benmarks

+0

이 정상적으로 작동합니다. 감사 –

관련 문제

 관련 문제