Breadcrumbs and page titles
Removing the breadcrumbs block should not be very difficult since it is just one line in the /layout/page.xml
file. However, if you were to remove breadcrumbs by changing the /layout/page.xml
file it will adversely affect page titles, which may not be what you expect.
The underlying issue is related to Magento's built-in flexibility that allows breadcrumbs to be used with page titles. The breadcrumbs block needs to be part of the page in order for page titles to be processed correctly. Removing the breadcrumbs block will result in products and categories to show the default store title, unless a title is explicitly defined in the backend. Since the aim is to only remove breadcrumbs from the design, the safest option is to modify the breadcrumbs template file:
template/page/html/breadcrumbs.phtml
Replace the entire content of that file with:
<?php
?>
This ensures that page titles work as expected, and yet no breadcrumbs appear on the page. Of course you could always use the more lazy method of using CSS to simply hide the relevant <div>
as an alternative.
Custom onepage checkout layout
The default Magento checkout uses the "2column-right" layout, where the checkout progress block appears in the right column. As you progress through the checkout, the progress block is updated using javascript. However, the javascript in question relies on a hardcoded CSS class name, which is specifically related to the 2column-right layout. The javascript code, which can be found in
skin/frontend/default/default/js/opcheckout.js
looks for the .col-right
CSS class. When you decide to use a different layout, this CSS class will not be created and hence the progress block will stop updating.
To avoid this issue you need to copy the javascript file into your own template directory and change .col-right
to match the class of the div
that encloses <div class="one-page-checkout-progress">
.
Have another common trap that has caught you more than once when developing a custom Magento design? Tell us how you avoid it in the comments.