あなたは、単に次のコードを使用することができます。その引数が数のとき
<?php
$arg1 = arg(1);
$arg2 = arg(2);
// Check arg(1) is not empty, or is_numeric() returns TRUE for NULL.
return (arg(0) == 'video' && !empty($arg1) && !is_numeric($arg1) && empty($arg2));
?>
KingCrunchは、すでに述べたように、is_nan()
はTRUE
を返しません。 報告したコードには別のエラーも含まれています。empty()
は、PHP documentationで報告されている変数でのみ使用できます。
empty()
変数をチェックするだけで、解析エラーが発生します。つまり、次のように動作しません:empty(trim($name))
。
私が報告したコードは、「video/video1」のようなパスのブロックを示しています。 "video/video1/edit"のようなパスについてもブロックを表示する場合は、次のコードを使用する必要があります。
<?php
$arg1 = arg(1);
return (arg(0) == 'video' && !empty($arg1) && !is_numeric($arg1));
?>
あなたが探しているパスがパスエイリアスの場合は、arg()
を使用すると機能しません。 "video/video1"が "node/10"のパスエイリアスであるとします。その場合、arg(0)
は「ノード」を返し、arg(1)
は「10」を返します。 "node/10"に等しい$_GET['q']
についても同様です。Drupalは、そのブートストラップ時に、次のコードで$_GET['q']
を初期化するので、これが起こる
」:あなたは何をチェックしていることは、パスの別名である場合
// Drupal 6.
if (!empty($_GET['q'])) {
$_GET['q'] = drupal_get_normal_path(trim($_GET['q'], '/'));
}
else {
$_GET['q'] = drupal_get_normal_path(variable_get('site_frontpage', 'node'));
}
// Drupal 7.
if (!empty($_GET['q'])) {
$_GET['q'] = drupal_get_normal_path($_GET['q']);
}
else {
$_GET['q'] = drupal_get_normal_path(variable_get('site_frontpage', 'node'));
}
、あなたは、次を使用する必要がありますコード:
// Drupal 6.
$arg = explode('/', drupal_get_path_alias($_GET['q']);
return (arg[0] == 'video' && !empty($arg[1]) && !is_numeric(arg[1]) && empty($arg[2]));
// Drupal 7.
$arg = explode('/', drupal_get_path_alias();
return (arg[0] == 'video' && !empty($arg[1]) && !is_numeric(arg[1]) && empty($arg[2]));
正確には機能しません。引数変数には何が含まれていますか? –
あなたはそのコードをどこで使用していますか?フックの実装でそれを使用していますか、またはモジュールをいつ表示するかを決めるPHPコードとして使用していますか?あなたはURLが何を期待していますか? – kiamlaluno
申し訳ありません、これは 'ページ固有の表示設定'のブロックのものです 引数:/ video/video1は/ video/1/video/1 /ブロックを表示するはずですブロックを表示しないでください – atb