1

drupal のl()関数を使用してリンクを構築しています。したがって、関数が href 値を生成する 2 番目の引数としてこの変数を渡します。

$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');

しかし、私はのような URL を取得し続けます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 に答える