In magento,Payment methods instructions does not taken from CMS static block.
It is basically taken from instructions field of each payment method setting
(admin>System>Configuration>Sales>Payment Methods>Select payment method)
.
For banktransfer payment method,it is taken from admin>System>Configuration>Sales>Payment Methods>Banktransfer Instruction fields
For your case,you want to sperate instructions basis billing country and instructions is manage from cms static block then you can try below solution:
- create two Cms static blocks
- rewrite
Mage_Payment_Block_Form_Banktransfer
block class bcoz getInstructions() function the instruction will show
Code:
<?php class [ModuleNameSpace]_[ModuleName]_Block_Form_Banktransfer extends Mage_Payment_Block_Form_Banktransfer{
public function getInstructions()
{ if(!Mage::app()->getStore()->isAdmin(): $checkout = Mage::getSingleton('checkout/session')->getQuote(); $billAddress = $checkout->getBillingAddress(); $countryId = $billAddress->getCountryId(); if($countryId=='AU'){ $block = Mage::getModel('cms/block')
->setStoreId(Mage::app()->getStore()->getId())
->load('AU_blockId');
$helper = Mage::helper('cms');
$processor = $helper->getBlockTemplateProcessor();
$html = $processor->filter($block->getContent()); $this->_instructions = $html; }else{
$block = Mage::getModel('cms/block')
->setStoreId(Mage::app()->getStore()->getId())
->load('blockId_US');
$helper = Mage::helper('cms');
$processor = $helper->getBlockTemplateProcessor();
$html = $processor->filter($block->getContent()); $this->_instructions = $html; } endif;
if (is_null($this->_instructions)) {
$this->_instructions = $this->getMethod()->getInstructions();
}
return $this->_instructions;
} }