We wrote down, how the handle is built (and many other things) here:
https://web.archive.org/web/20190118095855/http://theslidesareonline.de/magento-in-30-minutes-en.pdf
and we wrote down a few layout handles which one should know, like customer_logged_in|out
##Custom Action
Layout handle will be build with the NODE name!
<routers>
<companyModule_frontend>
<use>standard</use>
<args>
<module>Company_Module</module>
<frontName>frontend</frontName>
</args>
</companyModule_frontend>
</routers>
Route: frontend//
Layout Handle: companyModule_frontend_controllerName_actionName
Magento uses only parts of the Layout-XML file, depending on the requested page. These parts are called layout handle. There are a few which are used every time, and others which are belonging to exactly one URL
The most important Layout-Handles
which don't belong to a page:
- (all pages)
- <customer_logged_(in|out)> (customer status)
- <catalog_category_default> (category w/o LN)
- <catalog_category_layered> (category with LN)
- <catalog_category_view> (all categories)
- <catalog_product_view> (product detail page)
Special Layout-Handle
<PRODUCT\_TYPE\_(simple|configurable|grouped|virtual|downloadable|bundle{|giftcard})
Custom Layout handle
Easiest: add one with an observer
public function addMyOwnLayoutHandle(){
Mage::app()->getLayout()->addHandle('my_own_handle');
}
than you can use in layout XML
<layout>
<my_own_handle>