2012-11-08 3 views
0

얼마 전에이 사이트에서 왼쪽 탐색을 설정했습니다 : http://makethemostof.co.uk/ 상위 카테고리에있는 모든 하위 카테고리를 표시하고 하위 카테고리에있는 모든 형제 카테고리를 표시합니다.상위 카테고리의 자녀 목록을 앵커에 표시

이제 하위 카테고리 (하지만 상위 카테고리 제외)에 계층 형 탐색을 추가하려고합니다. 계층 적 탐색은 잘 작동하지만 형제 범주를 표시하는 코드는 더 이상 작동하지 않습니다. 여기를 참조하십시오 : http://makethemostof.co.uk/house-garden/kitchen 부모 ('집과 정원')에서 찾을 수있는 목록은 필터 위에 나타나야하지만 그렇지 않습니다.

내가 레이아웃에 무엇을/catalog.xml입니다 :

<catalog_category_layered translate="label"> 
    <label>Catalog Category (Anchor)</label> 
    <reference name="root"> 
     <action method="setTemplate"><template>page/2columns-left.phtml</template></action> 
    </reference> 
    <reference name="left"> 
     <block type="catalog/navigation" name="catalog.leftnav" template="catalog/navigation/left.phtml"/> 
     <block type="mana_filters/view_category" name="mana.catalog.leftnav" template="catalog/layer/view.phtml"/> 
     <!--<block type="catalog/layer_view" name="catalog.filters" template="catalog/layer/view.phtml"/>--> 
    </reference> 
    <reference name="content"> 
     <block type="catalog/category_view" name="category.products" template="catalog/category/view.phtml"> 
      <block type="catalog/product_list" name="product_list" template="catalog/product/list.phtml"> 
       <block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml"> 
        <block type="page/html_pager" name="product_list_toolbar_pager"/> 
       </block> 
       <action method="addColumnCountLayoutDepend"><layout>empty</layout><count>6</count></action> 
       <action method="addColumnCountLayoutDepend"><layout>one_column</layout><count>5</count></action> 
       <action method="addColumnCountLayoutDepend"><layout>two_columns_left</layout><count>4</count></action> 
       <action method="addColumnCountLayoutDepend"><layout>two_columns_right</layout><count>4</count></action> 
       <action method="addColumnCountLayoutDepend"><layout>three_columns</layout><count>3</count></action> 
       <action method="setToolbarBlockName"><name>product_list_toolbar</name></action> 
      </block> 
     </block> 
    </reference> 
</catalog_category_layered> 

그리고 여기 템플릿/카탈로그/네비게이션/left.phtml에있는 것입니다 :

<?php $currentCat = Mage::registry('current_category'); 

if ($currentCat->getParentId() == Mage::app()->getStore()->getRootCategoryId()) { 
    echo '<h2 class="grad">'.$this->getCurrentCategory()->getName().'</h2>'; 
    $loadCategory = $currentCat; 
} else { 
    echo '<h2 class="grad"><a href="'.$this->getCurrentCategory()->getParentCategory()-  >getURL().'">'.$this->getCurrentCategory()->getParentCategory()->getName().'</a></h2>'; 
    $loadCategory = Mage::getModel('catalog/category')->load($currentCat->getParentId()); 
} 

$cats = $loadCategory->getChildrenCategories(); ?> 

<ul> 
<?php foreach($cats as $category): ?> 
<? $category->load(); 
if ($category->getIsActive() && $category->getIncludeInMenu()) { ?> 
<li> 
    <a href="<?php echo $category->getUrl() ?>"><?php echo $category->getName() ?></a> 
</li> 
<? } ?> 

나는 어딘가에 위와 같은 오류가 있다고 가정 할 수 있습니다. 그것을 확인하는데 도움이된다면 정말 감사 할 것입니다. 감사!

답변

0

을로드해야이

<?php 
    $currentCat = Mage::registry('current_category'); 

    if ($currentCat->getParentId() == Mage::app()->getStore()->getRootCategoryId()) { 
     echo '<h2 class="grad">'.$this->getCurrentCategory()->getName().'</h2>'; 
     $loadCategory = $currentCat; 
    } else { 
     echo '<h2 class="grad"><a href="'.$this->getCurrentCategory()->getParentCategory()->getURL().'">'.$this->getCurrentCategory()->getParentCategory()->getName().'</a></h2>'; 
     $loadCategory = Mage::getModel('catalog/category')->load($currentCat->getParentId()); 
    } 
?> 


<ul> 
    <?php foreach($loadCategory->getChildrenCategories() as $subcategory): ?> 
     <?php if ($subcategory->getIsActive()) : ?> 
      <li> 
       <a href="<?php echo $subcategory->getUrl(); ?>"><?php echo $subcategory->getName(); ?></a> 
      </li> 
     <?php endif; ?> 
    <?php endforeach; ?> 
</ul> 

시도 . 확장은 catalog.xml이 제자리에 놓은 후에 왼쪽 탐색 블록을 제거하여 내 catalog.xml을 변경해도 아무런 효과가 없었습니다.

1

당신이 getIncludeInMenu()을 테스트해야하는 경우 다음하지만 레이아웃 그것은 문제가 템플릿 파일 아니라고 밝혀 각 카테고리

<ul> 
    <?php foreach($loadCategory->getChildrenCategories() as $subcategory): ?> 
    <?php $category = Mage::getModel('catalog/category')->load($subcategory->getId()); ?> 
     <?php if ($category->getIsActive() && $category->getIncludeInMenu()) : ?> 
      <li> 
       <a href="<?php echo $category->getUrl(); ?>"><?php echo $category->getName(); ?></a> 
      </li> 
     <?php endif; ?> 
    <?php endforeach; ?> 
</ul> 
+0

R.S를 사용해 주셔서 감사합니다. - 불행하게도 적어도 원래 작동하는 부모 범주는 에테르를 작동시키지 않았다는 것을 의미했습니다. 더 이상 아이디어를주세요? –

+0

방금 ​​작업 코드로 코드를 업데이트했습니다. –

+0

감사합니다. R.S - 더 좋지만 탐색이 여전히 앵커 범주에 숨겨져있는 것이 두렵습니다. –

관련 문제