我正在尝试使用if / elseif,并且无法理解为什么它在Drupal 6模板中无法正常工作。
此代码有效:
<?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变量。 现在,我想在节点/添加和节点/编辑的情况下显示略微不同的内容。 所以,我试过这个:
<?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。
我做错了什么? 谢谢你的建议!
答案 0 :(得分:1)
节点编辑页面的路径为node/[nid]/edit
...您需要使用arg(2)
代替:
if ((arg(0) == 'node') && is_numeric(arg(1)) && (arg(2) == 'edit')){