2012-05-13 2 views
0

Magento에서 특정 카테고리의 모든 제품 페이지에 특정 HTML 블록을 표시하고 싶습니다.Magento의 제품 페이지에있는 선택적인 HTML 블록?

예를 들어

: - : 드레스, 드레스 제품의 모든 페이지에 dress.phtml, phone.phtml, gps.phtml

카테고리 드레스, 전화,이 범주에 대한 HTML 블록을 GPS를 .phtml이 표시됩니다 - 드레스 사이즈 차트, 컬러 차트, 세탁 방법 등

전화의 모든 제품 페이지에서 배터리 관리, 휴대 전화 포장 방법 등

모든 페이지에서 gps.phtml의 제품이 표시됩니다 - GPS 사용, 설치 등

아이디어가 있습니다. Magento에서 어떻게하면됩니까? 제품 카테고리별로 catalog/product/view.phtml에서 다른 PHTML 파일 (dress.phtml, phone.phtml 또는 gps.phtml)을 호출하려면 어떻게해야합니까?

감사합니다.

답변

1

이것은 쉽게 카탈로그/제품/view.phtml 파일을 사용자 지정 테마의 레이아웃/local.xml 파일에 몇 modificaitions함으로써 달성된다.

먼저 local.xml을 수정 해 보겠습니다. 그것을 열고 타입/복사 & 다음 코드를 붙여 :

<catalog_product_view> 
    <reference name="content"> 
     <reference name="product.info"> 
      <block type="catalog/product_view" name="product.dress" as="productDress" template="wherever/you/keep/dress.phtml" /> 
      <block type="catalog/product_view" name="product.phone" as="productPhone" template="wherever/you/keep/phone.phtml" /> 
      <block type="catalog/product_view" name="product.gps" as="productGps" template="wherever/you/keep/gps.phtml" /> 
     </reference> 
    </reference> 
</catalog_product_view> 

우리가 본질적으로 카탈로그/제품/view.phtml 파일 내에서 사용할 새 템플릿을 만드는 local.xml을 수정하고있는 무엇을 product.info 블록. 블록 유형은 * catalog/product_view *이므로 카탈로그/제품/view.phtml 내에있는 동일한 정보 및 방법에 액세스 할 수 있습니다. 우리는 그 다음 우리가 여기에서하고있는 모든 제품의 현재 범주를 확인하고 관련 블록을 출력하고 출력

$_currentCategory = Mage::registry('current_category'); 
if ($_currentCategory->getId() == id of dress category) { 
    echo $this->getChildHtml('productDress'); 
} elseif ($_currentCategory->getId() == id of phone category) { 
    echo $this->getChildHtml('productPhone'); 
} elseif ($_currentCategory->getId() == id of gps category) { 
    echo $this->getChildHtml('productGps'); 
} 

에 어떤 블록을 결정 view.phtml 코드의 비트를 쓸 수 있습니다. 물론 "id of _ __"을 적절한 카테고리 ID 값으로 대체해야합니다. 이 은 찾을 카테고리 중 하나의 하위 카테고리에있는 경우에 해당하지 않습니다. 예를 들어 구조가 다음과 같은 경우 휴대 전화> 액세서리> 전화 충전기 제품 휴대 전화 충전기 제품에서 최신 카테고리 (액세서리) 만 찾습니다. Google 및 StackOverflow에서 흩어져있는 상위 카테고리를 찾는 다른 방법이 있습니다.

희망이 있습니다. 불행히도이 코드를 테스트 할 방법이 없지만 제대로 작동합니다. 행운을 빕니다!

0

$ product-> getCategoryIds()는 제품이 속한 카테고리 ID를 제공 할 수 있습니다.

관련 문제