I don't think there is a way to remove the rss link and the export types through an observer.
For example, the code that shows the export types is this:
<?php if($this->getExportTypes()): ?>
<td class="export a-right">
<img src="<?php echo $this->getSkinUrl('images/icon_export.gif') ?>" alt="" class="v-middle"/> <?php echo $this->__('Export to:') ?>
<select name="<?php echo $this->getId() ?>_export" id="<?php echo $this->getId() ?>_export" style="width:8em;">
<?php foreach ($this->getExportTypes() as $_type): ?>
<option value="<?php echo $_type->getUrl() ?>"><?php echo $_type->getLabel() ?></option>
<?php endforeach; ?>
</select>
<?php echo $this->getExportButtonHtml() ?>
</td>
<?php endif; ?>
The only way to make it not appear is to make getExportTypes
return null
or false
and the method looks like this:
public function getExportTypes()
{
return empty($this->_exportTypes) ? false : $this->_exportTypes;
}
_exportTypes
is protected and the only public methods that access it are getExportTypes
for retrieving and addExportType
for adding a new export type. There is no way to remove them. The same goes for RSS lists.
Here is what I would do in your case. I would rewrite the orders grid block Mage_Adminhtml_Block_Sales_Order_Grid
and add the following methods:
public function getExportTypes(){
return false;
}
public function getRssLists(){
return false;
}
protected function _prepareMassaction(){
return $this;
}
Even better, I would implement a way to still be able to show them by changing a config setting in the backend (if needed).
public function getExportTypes(){
if (!Mage::getStoreConfigFlag('some/config/path')){ //if some flag is not set let it behave as default.
return parent::getExportTypes();
}
return false;
}