1

我正在使用 drupal 的l()功能来建立链接。所以我将此变量作为第二个参数传递,该函数将从中生成 href 值。

$performer = $row->node_field_data_field_evenement_performer_title;
$url = 'node/' . $row->node_field_data_field_evenement_performer_nid . '/lightbox2';
print  l($performer, $url, array('html' => TRUE, 'attributes' => array('rel' => 'lightframe[group|width:500px; height: 500px][caption]', 'class' => 'performer-link')));

URL 应以查询字符串结尾?format=simple。所以基本上我的$url变量应该更新如下:

$url = 'node/' . $row->node_field_data_field_evenement_performer_nid . '/lightbox2?format=simple';

无论我使用什么编码/解码功能,无论我做什么转义,问号和等号都会被解释为%25字符类型。我试过:

$url = 'node/' . $row->node_field_data_field_evenement_performer_nid . '/lightbox2\?format\=simple');

或者

'/lightbox2' . any_decode_or_encode_function_outthere('?format=simple');

但我不断收到类似node/202/lightbox2%5C%3Fformat%5C%3Dsimple.

4

2 回答 2

2

使用query传递给的选项数组的键l()

print l($performer, $url, array(
  'html' => TRUE,
  'attributes' => array(
    'rel' => 'lightframe[group|width:500px; height: 500px][caption]',
     'class' => 'performer-link'
  ),
  'query' => array(
    'format' => 'simple'
  )
));

l()内部调用url(),并且可以转发选项。请参阅文档url()

于 2012-10-15T17:07:40.453 回答
0

尝试l($performer, $url, array('query' => array('format' => 'simple'), /*...the rest of your array...*/ );

这适用于 drupal 7。在选项数组中,您可以指定一个查询数组,它是要附加到 url 查询字符串的键值数组。

于 2012-10-15T17:07:56.057 回答