[РЕШЕНО] Проблемы с отображением ноды в Drupal 7

Главные вкладки

Аватар пользователя muaddip muaddip 27 марта 2012 в 13:16

Добрый день, форумчане!
Столкнулся с 2-мя проблемами, при установке на Drupal 7 темы Blue_Zinfandel (ссылка на нее http://drupal.org/project/blue_zinfandel ).
1. На главной странице выводит ноды не полностью, только заголовок и дату создания. Сам текст ноды не выводит. Ниже на картинке показано

В настройках лазил, вроде бы должно отображаться. В файлах темы тоже есть нужные поля, не могу понять в чем дело. Вот код файла node.tpl.php данной темы:

<?php // $Id$ ?>
  <div class="contentdate">
    <h3><?php print $month; ?></h3>
    <h4><?php print $day; ?></h4>
  </div>
  <div class="node<?php if ($sticky) { print " sticky"; } ?><?php if (!$status) { print " node-unpublished"; } ?>">
    <?php if ($picture) {
      print $picture;
    }?>
    <div class="contenttitle">
    <h1><a href="<?php print $node_url?>"><?php print $title?></a></h1>
    <p><?php print format_date($node->created); ?>
    <?php if (!$page && isset($comment_link)) { // We're in teaser view ?>
       | <?php // print $comment_link; ?>
    <?php }; ?>
    </p>
    </div>
    <div class="content"><?php print render($content['content']); ?></div>
    <?php if ($terms) { ?><div class="taxonomy"><?php print t('Tags: ') . $terms; ?></div><?php }; ?>
    <?php if ($links) { ?><div class="links">» <?php print $links?></div><?php }; ?>
  </div>

  <div style="clear: both;"></div>
  <div class="postspace">

  </div>

Присутствует вроде бы должно и материалы выводить.

2. Вторая проблема выводит сообщения:
Notice: Undefined variable: help в функции include() (строка 48 в файле Z:\home\tatara.com.ua\www\sites\all\themes\blue_zinfandel\templates\page.tpl.php).
Notice: Undefined variable: month в функции include() (строка 3 в файле Z:\home\tatara.com.ua\www\sites\all\themes\blue_zinfandel\templates\node.tpl.php).
Notice: Undefined variable: day в функции include() (строка 4 в файле Z:\home\tatara.com.ua\www\sites\all\themes\blue_zinfandel\templates\node.tpl.php).
Notice: Undefined variable: terms в функции include() (строка 19 в файле Z:\home\tatara.com.ua\www\sites\all\themes\blue_zinfandel\templates\node.tpl.php).
Notice: Undefined variable: links в функции include() (строка 20 в файле Z:\home\tatara.com.ua\www\sites\all\themes\blue_zinfandel\templates\node.tpl.php).

Хотя в файле tempalte.php присутствует описание переменных month и day. Кусок кода tempalte.php :

<?phpfunction phptemplate_preprocess_node(&$vars) {

      $node = $vars['node'];

      // Variables for the calendar date display.
      $vars['month'] = date('M', $node->created);
      $vars['day'] = date('j', $node->created);

      // Separate out comment link. Выделить ссылку на комментарий.
      if (isset($node->links['comment_comments'])) {
        $vars['comment_link'] = l($node->links['comment_comments']['title'], "node/$node->nid", array('title' => t('Jump to the first comment of this posting.')), NULL, 'commentblock');
      }
      elseif (isset($node->links['comment_add'])) {
        $vars['comment_link'] = l(t('Add new comment'), "comment/reply/$node->nid", array('title' => t('Add a new comment to this page.')), NULL, 'comment-form');
      }

      // Kill comment links that are already added above.
      if (isset($node->links)) {
        $links = $node->links;
        if (isset($links['comment_comments'])) {
          unset($links['comment_comments']);
        }
        if (isset($links['comment_add'])) {
          unset($links['comment_add']);
        }
        $vars['links'] = theme('links', $links, array('class' => 'links inline'));
      }

//  return $vars;
}?>

Если будут какие-либо мысли, буду рад.

ВложениеРазмер
Иконка изображения problema-s-nodoi.jpg83.09 КБ

Комментарии

Аватар пользователя Shok211 Shok211 27 марта 2012 в 16:18

Все содержимое

<?php render($content?>

Содержимое поля body

<?php render($content['field_bode']) ?>

Меняем preprocess

<?php

 

function blue_zinfandel_preprocess_node(&$vars) {
  
// Код из ядра
  
$vars['view_mode'] = $vars['elements']['#view_mode'];
  
// Provide a distinct $teaser boolean.
  
$vars['teaser'] = $vars['view_mode'] == 'teaser';
  
$vars['node'] = $vars['elements']['#node'];
  
$node $vars['node'];
  
// Дальше всё с $node = $vars['node']; -- из вашей функции
  
}
?>
Аватар пользователя muaddip muaddip 27 марта 2012 в 19:14

Спасибо, Михаил, действительно помогло <?php print render($content); ?>.
И preprocess я тоже не заметил, поменял заработало. Но косяков там еще куча, как я понял Smile Буду переделывать.

Аватар пользователя drupby drupby 27 марта 2012 в 17:23

"muaddip" wrote:
function phptemplate_preprocess_node(&$vars) {

      $node = $vars['node'];

      // Variables for the calendar date display.
      $vars['month'] = date('M', $node->created);
      $vars['day'] = date('j', $node->created);


не phptemplate_preprocess_node а blue_zinfandel_preprocess_node
и не date('M', $node->created) и date('j', $node->created)
а format_date() надо использовать
Эту тему походу джумловоды писали .

Аватар пользователя muaddip muaddip 27 марта 2012 в 19:16

Вы правы, это портированная Вордпресовская тема. Теперь только обратил внимание, что много ошибок. Спасибо Вам за подсказку. Но тема мне нравиться, буду доделывать ее.

Аватар пользователя Shok211 Shok211 28 марта 2012 в 10:03

Пожалуйста могу посоветовать установить модуль Devel и с помощью <?php krumo(/* Любая переменная */?> просматривать массивы

Аватар пользователя muaddip muaddip 28 марта 2012 в 12:41

Уже пользуюсь Theme developer входящей в Devel. Мне там нравиться интерфейс, довольно удобно пользоваться, в том числе и для просмотра массивов. Но за подсказку спасибо, про krumo до этого не слышал.