Php 我可以´;t将此if语句转换为if/elseif语句。它赢了´;不行。我做错了什么?
我正在试验if/elseif,不明白为什么它不能在Drupal6模板中工作 此代码适用于:Php 我可以´;t将此if语句转换为if/elseif语句。它赢了´;不行。我做错了什么?,php,drupal,if-statement,Php,Drupal,If Statement,我正在试验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>'; } ?> 如果
<?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中的title变量。
现在,我想在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>';
}
?>
而且它不会工作(不会显示任何东西)。
所以,我试过这个:
<?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>';
}
?>
在本例中,它仅适用于node/add,而完全忽略node/edit
我做错了什么?
谢谢你的建议 节点编辑页面的路径是
node/[nid]/edit
…您需要使用arg(2)
:
if ((arg(0) == 'node') && is_numeric(arg(1)) && (arg(2) == 'edit')){
您是否尝试过echo arg(0);回波arg(1);在if语句之前查看值是什么?