Используйте MagUnto getUrl внутри функции - PullRequest
4 голосов
/ 26 июня 2011
 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'];
}

Я хочу знать, могу ли я использовать функцию Mage :: getUrl ('/ what') внутри этой функции. В частности, мне нужно использовать ссылку внутри

 else {
            $this->_data['welcome'] = $this->__('Welcome, <a href="">Sign in</a> or <a href="">Register</a>');
        }

Спасибо.

EDIT Решение:

$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')

);

1 Ответ

7 голосов
/ 26 июня 2011

Функция __() работает как sprintf().Вы можете использовать такие директивы, как это:

$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')
)

Изящная часть этого - директивы, которые можно использовать в любом порядке, вы можете перевести вышеупомянутое в:

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>.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...