ブロックMage_Adminhtml_Block_Catalog_Product_Editをオーバーライドしようとしましたが、次の方法でボタン「delete_cache_product」を作成しました。
protected function _prepareLayout()
{
parent::_prepareLayout();
$this->_product = $this->getProduct();
$this->setChild('delete_cache_product',
$this->getLayout()->createBlock('adminhtml/widget_button')
->setData(array(
'label' => Mage::helper('catalog')->__('delete cache'),
'onclick' => 'confirmSetLocation(\''.Mage::helper('catalog')->__('Are you sure?').'\', \''.$this->getDeleteCacheProductUrl().'\')',
'title' => Mage::helper('catalog')->__('Delete product cache?')
))
);
return $this;
}
問題は、そのボタンにリソースACLを関連付けて、そのようなリソースにアクセスできるユーザーだけがボタンを表示できるようにする方法です。