我正在试验 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 中的标题变量。现在,我想在节点/添加和节点/编辑的情况下展示一些稍微不同的东西。所以,我试过这个:
<?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>';
}
?>
在这种情况下,它只适用于节点/添加,但完全忽略节点/编辑。
我究竟做错了什么?谢谢你的建议!