2011-06-26 7 views
4
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( '/ whatever')関数を使用できるかどうかを知りたいと思います。 は具体的には、私はMagentoのgetUrlを関数内で使用する

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

)。

+2

あなたは* *それを試してみました。.. ? –

+0

はい、私はこれを達成しようとしています。 –

答えて

7

__()の機能は、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') 
) 

本のきちんとした部分は、ディレクティブは任意の順序で使用することができている、あなたが上記のtranslateできます

+0

\t Mage :: getUrl( 'customer/account/login')、 Mage :: getUrl( 'customer/account/create') –

+0

申し訳ありません。私はコンマを見逃しました。 – clockworkgeek

+0

ああ、私は欠けているカンマが見つかったことを強く見ていたはずです! –