Drupal 6 视图模板主题化

Drupal 6 视图模板主题化,drupal-6,drupal-views,Drupal 6,Drupal Views,我有一个名为tracker的视图的模板“viewsview-field--tracker--name.tpl.php”,我在模板中使用If…Else语句来打印字段 <?php if ($node ->uid == 0) { print $view->field['field_authorname_value']->render($row); } else { print $view->field['name']->render($row); } ?&g

我有一个名为tracker的视图的模板“viewsview-field--tracker--name.tpl.php”,我在模板中使用If…Else语句来打印字段

<?php
if ($node ->uid == 0) {
  print $view->field['field_authorname_value']->render($row);
} else {
  print $view->field['name']->render($row);
}
?>

上面的代码没有正常工作,它很好地打印了第一部分,但没有打印第二部分。不过,不带if语句的打印似乎还可以。例如:

<?php
print $view->field['name']->render($row);
?>


不确定代码出了什么问题,所以寻找答案我不确定。当你把if语句转过来时会发生什么

<?php
if ($node ->uid != 0) {
  print $view->field['name']->render($row);
} else {
  print $view->field['field_authorname_value']->render($row);
}
?>

或者使用switch语句:

<?php
switch ($node ->uid) {
    case 0:
        print $view->field['field_authorname_value']->render($row);
        break;
    default:
        print $view->field['name']->render($row);
}
?>

在drupal中,一个烦人的mous用户==0。但是,您可能应该首先检查这个,以确保/what/uid是您实际检查的对象。换句话说,当您调试页面时 插入

echo“uid是:”。$node->uid

/在/if语句之前,这将让您知道要检查的内容(即,对于非mous用户,它是否始终为0或不是0的其他值) 希望这是有道理的。当if-else语句不起作用时,回显值是您最好的朋友

[编辑]
还要确保您不是匿名用户,否则代码工作正常。只是一个人类工作不正常的案例(昨天也是如此)

我得到的结果与之前相同。是第二个案例从未发生过(总是第一个案例),还是第二个案例发生时打印不正确?