I would like to make the "Custom" redirect option the default when creating URL Rewrites. Is that possible and, if so, how?
1 Answer
Quick and dirty solution would be to override core file Mage_Adminhtml_Block_Urlrewrite
and replace
return $this->getUrl('*/*/edit') . array_shift($modes);
with
return $this->getUrl('*/*/edit') . array_pop($modes);
in getCreateUrl()
.
To do it the better way, create a module and listen for the event core_layout_block_create_after
. Your observer method should look similar to the following. Maybe you want to additionally check for the request to limit the substitution to a certain action.
public function updateUrlrewriteButton (Varien_Event_Observer $observer)
{
$block = $observer->getBlock();
if ( $block instanceof Mage_Adminhtml_Block_Urlrewrite )
{
$block->updateButton
(
'add',
null,
array
(
'label' => Mage::helper('adminhtml')->__('Add URL Rewrite'),
'onclick' => 'setLocation(\'' . $block->getUrl('*/*/edit') . 'id' .'\')',
'class' => 'add',
'area' => 'header',
'sort_order'=> '10',
)
);
}
}