是否可以打印JText内部变量是否有可能回显变量中JText :: _如果又如何
即: - 我需要打印$电子邮件来测试它是否是零或具有价值在它...
$this->setMessage(JText::_('COM_USERS_REGISTRATION_ACTIVATE_SUCCESS'));
是否可以打印JText内部变量是否有可能回显变量中JText :: _如果又如何
即: - 我需要打印$电子邮件来测试它是否是零或具有价值在它...
$this->setMessage(JText::_('COM_USERS_REGISTRATION_ACTIVATE_SUCCESS'));
的JText类有一个静态方法“_”,其将传递到它到另一个字符串中的字符串参数,使用语言文件和设置适当的上下文。如果你想看到的是正在传递什么setMessage你可以只尝试:
echo 'DEBUG setMessage argument: "'.JText::_('COM_USERS_REGISTRATION_ACTIVATE_SUCCESS').'"';
如果你发现这表明_正在恢复什么的话,那很可能是一种迹象表明,没有对“COM_USERS_REGISTRATION_ACTIVATE_SUCCESS条目'正在使用的语言文件中。
编辑:
如果需要追加$email
则只是这样做:
$this->setMessage(JText::_('COM_USERS_REGISTRATION_ACTIVATE_SUCCESS').$email);
COM_USERS_REGISTRATION_ACTIVATE_SUCCESS
正在由消息的语言定义替换。如果你打破了这一点,Joomla不会承认它。
您可以将变量追加到消息,如果你想:
$this->setMessage(JText::_('COM_USERS_REGISTRATION_ACTIVATE_SUCCESS') . $email);
甚至忽略JText如果你需要
$this->setMessage('some message, email: ' . $email);
如果你想在字符串中使用变量或几个变量,这里有一个例子:
$this->setMessage(JText::sprintf('COM_USERS_REGISTRATION_ACTIVATE_SUCCESS', $name, $email);
而在语言文件中:
COM_USERS_REGISTRATION_ACTIVATE_SUCCESS="Hello %s, your email is: %s"
所以最终输出的外观($ name和$电子邮件将通过给定的变量值替换):
Hello $name, your email is: $email
没有我需要追加$电子邮件还用它,让出放必须是JText +中存储的电子邮件的价值$ email – 2012-03-08 10:06:10
thnks纠正它是 – 2012-03-08 10:15:22