Magento: How to tell if you're on a category page, or product page in .phtml file(s)

前端 未结 4 731
余生分开走
余生分开走 2021-02-02 11:57

I am trying to program into my .phtml files an if statement if the guest is on a category list page, or on a product page.

For example this code:



        
4条回答
  •  死守一世寂寞
    2021-02-02 12:22

    I am afraid you are trying to do it the wrong way. I might be wrong, because you have not explained what is it exactly that you want to achieve, but I would use the layout xml to include your block on a product page with a parameter (say product-page="1") and similiarly on a category page (category-page="1").

    Then you would be able to tell if you are on a product page or category page by examining those parameters inside your block:

    if($this->getProductPage()) {
      //this is a product page, do some stuff
    }
    elseif($this->getCategoryPage()) {
      //this is a category page, do some stuff
    }
    

    Differentiating between main and subcategory pages might be more difficult, the first thing that comes to mind is analysis of the request variables, but that is certainly not the best approach.

提交回复
热议问题