if($ node-> type =='x')在theme_upload_attachments函数中不起作用

时间:2011-02-23 17:15:18

标签: php drupal drupal-6

我希望上传文件的标题显示不同的文本,具体取决于节点类型。我将核心功能重写为我的主题的template.php文件,并将其重命名为phptemplate_upload_attachments。

<?php
    function phptemplate_upload_attachments($files) {
        global $node;
        $header = array(t('Default text'), t('Size'));

        if ($node->type == 'orange') {
            $header = array(t('ORANGE CUSTOM TEXT'), t('Size'));
        }


        $rows = array();
        foreach($files as $file) {
            $file = (object)$file;
            if ($file->list && empty($file->remove)) {
                $href = file_create_url($file->filepath);
                $text = $file->description ? $file->description : $file->filename;
                $rows[] = array(l($text, $href), format_size($file->filesize));
            }
        }
        if (count($rows)) {
            return theme('table', $header, $rows, array('id' => 'attachments'));
        }
    }
?>

您可以猜到,我只添加了橙色节点类型的行,但它不起作用。我知道函数被正确覆盖了,因为我测试了它改变了默认文本。此外,我清除了缓存,我尝试添加全局$ node。

为什么这不起作用?

1 个答案:

答案 0 :(得分:1)

$node可用吗?试试这个:

$node = node_load(arg(1));