Drupal改变链接

时间:2011-10-17 15:01:25

标签: php drupal drupal-7 drupal-fapi

我在我的模块中使用Drupal的Forms API,我试图输出一个链接作为一些标记的一部分:

//$output = l('Result', 'document/1234');
$output = '<a href="document/1234">Result</a>';

$form['results'] = array(
    '#type' => 'markup',
    '#markup' => $output,
)

我尝试过使用简单的字符串和l()函数,在这两种情况下,当呈现页面时,链接都不起作用,当我检查元素时,它会被修改如下: / p>

<a href=" 1234"="" document="">

并且缺少结束标记。

据我所知,在呈现之前,我没有对标记进行任何类型的后处理。

在我模块的其他地方,我创建了这样的链接,它们正常输出。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

这很奇怪,听起来像另一个模块必须改变它......你有没有机会安装翻译/字符串替换模块?

这可以帮助你同时解决它,你可以使用渲染数组和theme_link来输出这样的链接:

$form['results'] = array(
  '#theme' => 'link',
  '#text' => 'Result',
  '#href' => 'document/1234',
  '#options' => array(
    'attributes' => array('class' => array('cool-class'), 'id' => 'cool-id'),
      //REQUIRED:
      'html' => FALSE,
  ),
);

请注意html中的attributes是必填项。