0

For some products (same category) we need a different layout. How can I get this new layout only for those products. I know where to find the view.phtml and to adjust is, but how can you select the right layout in the backend for only that specific product?

When I change the local.xml then it will be changed for every product.

Do I have to make a whole new page layout? And how further?

1 Answer 1

0

Option 1: use local.xml

You can target specific products or categories from local.xml.

For product page, there are two additional layout handles:

  • <PRODUCT_TYPE_[type_id]>
  • <PRODUCT_[product_id]>

For categories:

  • <CATEGORY_[category_id]>

Option 2: admin backend

Go to admin product/category edit page and add your layout updates do Custom Layout Updates section.

Edit: (not tested)

Add your layout updates to local xml - with an own handle name ... and in layout update section just add <update handle="my_layout_handle"/> Maybe usefull if you want to apply your layout on several pages.

Option 3: custom layout handle

If you want to apply layouts for different products or on special conditions, you can add you own layout handles ... something like this:

public function addPreviewHandle(Varien_Event_Observer $observer) { $action = $observer->getAction(); if ($action->getFullActionName() === 'catalog_product_view' && $action->getRequest()->getParam('preview') === 'true') { $update = $observer->getEvent()->getLayout()->getUpdate(); $update->addHandle('my_admin_product_preview'); } } 

and layout update ...

<layout version="0.0.1"> <my_admin_product_preview> ... </my_admin_product_preview> </layout> 

Update:

When I make a specific view.phtml for only this category, How can I select the right product view for this different layout.

Either in layout XML

<CATEGORY_123> <reference name="product.info"> <action method="setTemplate"> <template>path/to/file.phtml</template> </action> </reference> </CATEGORY_123> 

Or in backend settings for this category

<reference name="product.info"> <action method="setTemplate"> <template>path/to/file.phtml</template> </action> </reference> 
2
  • thanks for your respons! Option 2 i now how to select a different layout now, but I don't know how to select a different product view. Maybe I asked it wrong. The way the productpage is shown has to get a different layout/look. Some details has to be removed and others to be added, Like price, description, photo etc. When I make a specific view.phtml for only this category, How can I select the right product view for this different layout. Commented Nov 19, 2018 at 8:30
  • @esther updated answer. was this what you are looking for? Commented Dec 4, 2018 at 17:14

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.