2010-07-20 3 views
1

안녕하세요, Magento 1.4.0.1을 실행 중이며 탐색에서 활성 카테고리를 숨기고 싶습니다. 이렇게하면 상위 카테고리의 URL 404는 있지만 모든 하위 카테고리의 URL은 여전히 ​​유효합니다.URL을 비활성화하지 않고 Magento에서 활성 카테고리를 숨기는 방법은 무엇입니까?

magentostore.ex/brands/company is valid 
magentostore.ex/brands is not 

우리는 페이지를 가리 키도록 magentostore.ex/브랜드 싶지만, 우리는 우리의 최고 수준의 탐색에서 "브랜드"라는 탭을 원하지 않는다.

부모를 탐색 상태에서 숨기려면 어떻게해야합니까? 감사!

답변

3

1.4.1.0로 업그레이드 할 때 특히주의해야합니다. 특히 Sales_Order 모듈에 대한 몇 가지 중요한 변경 사항이있었습니다. 주문 과 관련된 모든 확장 프로그램은 중단 될 수 있습니다.

하나의 옵션은 app/code/local 아래에서 Mage_Catalog_Block_Navigation 파일 버전을 생성하고 (직접 코어를 편집하지 마십시오!) 탐색에서 해당 카테고리를 제외시키기 위해 drawItem 함수를 재정의하십시오. PHP를 작성해야하지만 기존 코드를 복사/붙여 넣기하고 조건을 추가하는 것이 특히 어렵지 않습니다. 함수의 상단에이 같은

뭔가 때 CMS (이 기능은 재귀 있음을 유의하십시오 ... 그리고 당신의 정규식을! 확인) 작업이 좋은 생각

if(preg_match('/\b(brands)/i',$category->getName())!=0){ 
     return ''; 
    } 
+1

이것은 그 것이다. 고맙습니다! –

0

CMS를 거쳐 SEF URL 식별자가 "brands"인 페이지를 만들려고 했습니까? 내가 올바르게 이해한다면 당신이 원하는 것을 얻을 수 있어야합니다.

+3

해야하지만 페이지 URL은 이미 존재하는 것과 동일하므로 Magento는 기존 페이지를 제공합니다 (장애가 발생한 카테고리의 "페이지를 찾을 수 없음"). –

1

글쎄, 약간의 부작용이 있지만 1.4.0.1에서 1.4.1.0으로 업그레이드했고 "탐색 메뉴에 포함"옵션이 범주 속성으로 반환되었습니다. 이것은 우리의 문제를 해결합니다. 방문 페이지의 가능성을 유지하면서 카테고리가 최상위 탐색에 표시되지 않도록 할 수 있습니다. 편집 : JD의 솔루션은 더 나은 솔루션입니다.

관련 문제