Use Magento's getUrl inside a function
public function getWelcome()
{
if (empty($this->_data['welcome'])) {
if (Mage::isInstalled() && Mage::getSingleton('customer/session')->isLoggedIn()) {
$this->_data['welcome'] = $this->__('Welcome, %s!', $this->escapeHtml(Mage::getSingleton('customer/session')->getCustomer()->getName()));
} else {
$this->_data['welcome'] = $this->__('Welcome, <a href="">Sign in</a> or <a href="">Register</a>');
}
}
return $this->_data['welcome'];
}
I want to know if I can use the function Mage::getUrl('/whatever') inside this function. More specifically, I need to use a link inside the
else {
$this->_data['welcome'] = $this->__('Welcome, <a href="">Sign in</a> or <a href="">Register</a>');
}
Thanks.
EDIT The solution:
$this->__('Welcome, <a href="%1$s">Sign in</a> or <a href="%2$s">Register</a>',
Mage::getUrl开发者_Python百科('customer/account/login'),
Mage::getUrl('customer/account/create')
);
The __()
function works like sprintf()
. You can use directives like this:
$this->__('Welcome, <a href="%1$s">Sign in</a> or <a href="%2$s">Register</a>',
Mage::getUrl('customer/account/login'),
Mage::getUrl('customer/account/create')
)
The neat part of this is the directives can be used in any order, you could translate the above to:
Please <a href="%2$s">sign-up</a> or, if you have an existing account,
<a href="%1$s">login</a>. To justify this example here is the register URL again;
<q>%2$s</q>.
精彩评论