我正在使用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')));
网址应以查询字符串?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
等网址。
答案 0 :(得分: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()
答案 1 :(得分:0)
尝试l($performer, $url, array('query' => array('format' => 'simple'), /*...the rest of your array...*/ );
这适用于drupal 7.在options数组中,您可以指定一个查询数组,该数组是要附加到url查询字符串的键值数组。