$loglink = l("blabla", 'admin/config/blabla');
drupal_set_message(t("You have to complete the fields in $loglink first."), 'error');
如何编写该消息,但不能在t()中使用变量$loglink
。有数组吗?
答案 0 :(得分:1)
为什么不把你分配给变量的内容代替变量?
drupal_set_message(t("You have to complete the fields in " . l("blabla", 'admin/config/blabla') . " first."), 'error');
或者,使用占位符:
drupal_set_message(t("You have to complete the fields in !link first.", array('!link' => l("blabla", 'admin/config/blabla'), 'error');
由于您使用的是 t(),为什么不通过 t()运行链接文字?而不是混合单引号和双引号:
l(t('blabla'), 'admin/config/blabla')
顺便提一下,你会注意到我用过了!对于占位符的开头,可以使用以下内容:
!!变量,表示文本将按原样插入。
@ @variable,这意味着文本应该通过check_plain()运行。
%%变量,这意味着文本应该通过check_plain()运行,并且还会突出显示为强调的主题_placeholder()。
无论如何,我认为你应该这样做:
drupal_set_message(t('You have to complete the fields in !link first.', array('!link' => l(t('blabla'), 'admin/config/blabla'), 'error');
答案 1 :(得分:0)
在可翻译内容中使用链接的首选方法是
t('Have a look at the <a href="@drupal-handbook">Drupal Handbooks</a>.',
array(
'@drupal-handbook' => 'http://drupal.org/handbooks',
)
)
请参阅Dynamic or static links and HTML in translatable strings。