если ($ node-> type == '' x ') не работает в функции theme_upload_attachments - PullRequest
0 голосов
/ 23 февраля 2011

Я хочу, чтобы в заголовке загруженных файлов отображался другой текст в зависимости от типа узла. Я переопределил функцию ядра, скопировав ее в файл 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'));
        }
    }
?>

Как вы можете догадаться, я только добавил строку для типа оранжевого узла, но она не работает. Я знаю, что функция правильно переопределена, потому что я тестировал ее, изменяя текст по умолчанию. Также я очистил кеш и попытался добавить глобальный узел $.

Почему это не работает?

1 Ответ

1 голос
/ 23 февраля 2011

Есть ли $node в наличии? Попробуйте это:

$node = node_load(arg(1));
...