First copy topmenu.phtml from
/app/design/frontend/rwd/default/template/page/html/
Save this file as topmenu.phtml to
/app/design/frontend/YOUR PACKAGE/YOUR THEME/template/page/html/
Edit this file within lines 38-40, paste the following:
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('home-link')->toHtml(); ?>
To create:
<ol class="nav-primary">
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('home-link')->toHtml(); ?>
<?php echo $_menu ?>
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('post-menu-links')->toHtml(); ?>
</ol>
Save and re-upload this file.
Create a CMS > Static Block
, named home-link
enter the following into your block (Hide Editor, as needed):
<li class="level0 nav-1 parent"><a href='{{config path="web/unsecure/base_url"}}' title='Home Page' class='level0'>Home</a></li>
Note: I leave all of the class names consistent with 1.9. Feel free to adjust class names as needed.
Save your new Static Block.
Create a CMS > Static Block
, named post-menu-links
Enter the following into your block (Hide Editor, as needed):
<li class="level0 nav-1 parent"><a href="CUSTOMPATH-1.HTML" title="LINK TITLE #1" class="level0">LINKNAME #1</a></li>
<li class="level0 nav-1 parent"><a href="CUSTOMPATH-2.HTML" title="LINK TITLE #2" class="level0">LINKNAME #2</a></li>
<!-- and so on, as needed ... -->
Save your new Static Block.
Be sure to clear the cache and refresh your browser.
I ended up resolving this by changing the event I was observing to adminhtml_block_html_before
and then adding a little fancy finagling to re-sort the columns and allow for proper filtering. The old event was occuring before the default columns were being set up which is why they couldn't be removed.
Here is the updated method with the new lines added below $block->removeColumn('status');
public function updateColumns($observer)
{
$block = $observer->getBlock();
if (!isset($block)) return $this;
if ($block->getType() == 'adminhtml/catalog_product_grid') {
$boolOptions = array('1' => 'Yes', '0' => 'No');
// Add new columns
$block->addColumnAfter('model_number', array(
'header' => 'Model No.',
'type' => 'text',
'index' => 'model_number',
), 'sku');
$block->addColumnAfter('discontinued', array(
'header' => 'Disc.',
'type' => 'options',
'index' => 'discontinued',
'options' => $boolOptions,
), 'qty');
// Remove columns
$block->removeColumn('status');
$block->sortColumnsByOrder();
// register current block, needed to extend the collection in the observer
Mage::register('jks_grid_current_block', $block);
// call _prepareCollection to reload the collection and apply column filters
$this->_callProtectedMethod($block, '_prepareCollection');
// remove current block to prevent race conditions in later collection loads
Mage::unregister('jks_grid_current_block');
}
}
Thanks goes out to this nifty GridControl extension which helped make the solution more obvious.
Best Answer
Renate, if you are following the tutorial, then you'll need to add the code suggested by Rama to this section