开发者

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>.
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜