これは、 config フラグを使用して非常に簡単に実現できcheckout/options/onepage_checkout_enabled
ます。
public function deleteAction()
{
parent::deleteAction();
if($this->_getCart()->getQuote()->getItemsCount() == 1) {
Mage::app()->getStore()->setConfig('checkout/options/onepage_checkout_enabled',0);
}
}
補足:
postdispatch コントローラー オブザーバー アクションで処理できるため、ここでコントローラーを書き直す必要はありません。
<events>
<controller_action_postdispatch_checkout_cart_delete>
<observers>
<yourmodule_postdispatch_delete>
<class>yourmodel/observer</class>
<method>deletePostdispatch</method>
</yourmodule_postdispatch_delete>
</observers>
</controller_action_postdispatch_checkout_cart_delete>
</events>
オブザーバー メソッドは次のようになります。
public function deletePostdispatch($observer)
{
if(Mage::getSingleton('checkout/session')->getQuote()->getItemsCount()==1){
Mage::app()->getStore()->setConfig('checkout/options/onepage_checkout_enabled',0);
}
}
HTH、乾杯!