Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I would like to know how to determine which browser navigation bar URLs activate a handle inside a layout and which do not. For instance, take the handle catalog_category_default found inside catalog.xml. How can I know when this handle will be activated. I've placed the following code within this handle:

   <reference name="left">
        <block type="catalog/navigation" name="catalog.leftnav" after="currency" template="catalog/navigation/left.phtml"/>

but cannot get it to display no matter what links I click on starting from the installation's default home page.

I would also like to know the difference between the handles catalog_category_layered and catalog_category_default.

Sorry for the stupid question. Now I see the answer. The code I was placing, which was copied from a book, needs to be adapted as these files change from one release of magento to the next. In particular, the difference between the catalog_category_default and category_category_layered handles can be inferred from the comments above them and the contents of the label XML element:

Category default layout

    <catalog_category_default translate="label">
        <label>Catalog Category (Non-Anchor)</label>

Compare products page

    <catalog_product_compare_index translate="label">
        <label>Catalog Product Compare List</label>

Hence, since one needs to add at least one product category to get this code to show up (since the catgeory must be clicked on to get to the product category page), we must place the code in the appropriate handle according to whether we declared an anchor category (so that the category shows up and can be clicked on) or not.

But there is another subtle issue. When adding to catalog_category_layered, there is already a reference to the "left" structural block with the contents representing the block to be inserted inside the "left" structural block, the contents being a block with the name="catalog.leftnav" which is the same as the name of another block which follows, so we must change the name to name="catalog.leftnav2" or something like that to get it to show up, otherwise only the latter block will show up.


John Goche

share|improve this question

closed as off topic by EEAA, Iain Nov 15 '12 at 21:36

Questions on Server Fault are expected to relate to professional server, networking, or related infrastructure administration within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

Browse other questions tagged or ask your own question.