0

私はif/elseifを試していますが、Drupal6テンプレートでこれが機能しない理由を理解できません。

このコードは機能します:

<?php
    if ((arg(0) == 'node') && (arg(1) == 'add') || (arg(1) == 'edit')){
    $node = node_load(array('nid' => arg(1)));
    print '<h2>' .  $title . '</h2>';   }
?>

node / add/whateverまたはnode/nid / editにいる場合は、h2にラップされたタイトル変数が表示されます。ここで、node/addとnode/editの場合に少し異なるものを表示したいと思います。だから、私はこれを試しました:

<?php
if ((arg(0) == 'node') && (arg(1) == 'edit')) {
    $node = node_load(array('nid' => arg(1)));
    print '<h3>' .  $title . '</h3>';
} elseif ((arg(0) == 'node') && (arg(1) == 'add')) {
    $node = node_load(array('nid' => arg(1)));
    print '<h2>' .  $title . '</h2>';   }
} else {
    echo ""; //it shows nothing
}
?>

そして、それは機能しません(何も表示されません)。だから、私はこれを試しました:

<?php
    if ((arg(0) == 'node') && (arg(1) == 'add')){
    $node = node_load(array('nid' => arg(1)));
    print '<h2>' .  $title . '</h2>';   }
?>
<?php
    if ((arg(0) == 'node') && (arg(1) == 'edit')){
    $node = node_load(array('nid' => arg(1)));
    print '<h3>' .  $title . '</h3>';
    }
?>

そしてこの場合、それはノード/追加でのみ機能しますが、ノード/編集を完全に無視します。

私は何が間違っているのですか?アドバイスありがとうございます!

4

1 に答える 1

1

ノード編集ページのパスは...代わりnode/[nid]/editに使用する必要があります:arg(2)

if ((arg(0) == 'node') && is_numeric(arg(1)) && (arg(2) == 'edit')){
于 2012-11-21T00:35:02.897 に答える