2011-10-30 3 views
1

기본적으로 사용 가능한 제품 필터가 왼쪽 세로 막대에 표시됩니다. 하지만 대신 제품 목록 위에 표시하고 싶습니다.Magento : 제품 필터 이동

<p class="block-subtitle"><?php echo $this->__('Shopping Options') ?></p> 
<dl id="narrow-by-list"> 
    <?php $_filters = $this->getFilters() ?> 
    <?php foreach ($_filters as $_filter): ?> 
     <?php if($_filter->getItemsCount()): ?> 
      <dt><?php echo $this->__($_filter->getName()) ?></dt> 
      <dd><?php echo $_filter->getHtml() ?></dd> 
     <?php endif; ?> 
    <?php endforeach; ?> 
</dl> 

그러나 분명히 그것을 :

나는 단순히 /template/catalog/product/list.phtml/template/catalog/layer/view.phtml에서 다음 코드를 복사하려 그런 식으로 작동하지 않습니다. 어떻게해야합니까?

미리 감사드립니다.

+0

하면 디자이너 가이드 : http://www.magentocommerce.com/wiki/4_-_themes_and_template_customization/0 _-_ theming_in_magento/designs-for-magento –

답변

5

필터 템플릿을 사용하는 블록 (php 클래스)을 해당 필터를 포함시킬 클래스의 하위로 만들어야합니다. 이 작업은 레이아웃 XML에서 수행됩니다. 그것을 보여주기 위해, 당신은 단순히 사용자 지정 목록 템플릿 내부 <?php echo $this->getChildHtml('catalog.leftnav') ?>를 호출 할 수 있습니다 위의를 사용하여

<?xml version="1.0" ?> 
<layout> 
    <catalog_category_layered> 
     <!-- remove from left block --> 
     <reference name="left"> 
      <action method="unsetChild"> 
       <child>catalog.leftnav</child> 
      </action> 
     </reference> 

     <!-- add as child to product list block --> 
     <reference name="product_list"> 
      <action method="insert"> 
       <child>catalog.leftnav</child> 
      </action> 
     </reference> 
    </catalog_category_layered> 
</layout> 

: 테마의 레이아웃 폴더에 local.xml 파일에서

는 다음을 수행합니다. 당신은 어느 스타일은 CSS를 사용하거나 위의 catalog_category_layered 노드 내부에서이 문제를 추가하여 템플릿을 변경할 수 있습니다 여기에

 <reference name="catalog.leftnav"> 
      <action method="setTemplate"> 
       <child>path/to/template.phtml</child> 
      </action> 
     </reference>