Добрый день, форумчане!
Столкнулся с 2-мя проблемами, при установке на Drupal 7 темы Blue_Zinfandel (ссылка на нее http://drupal.org/project/blue_zinfandel ).
1. На главной странице выводит ноды не полностью, только заголовок и дату создания. Сам текст ноды не выводит. Ниже на картинке показано
В настройках лазил, вроде бы должно отображаться. В файлах темы тоже есть нужные поля, не могу понять в чем дело. Вот код файла node.tpl.php данной темы:
<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;
}?>
Если будут какие-либо мысли, буду рад.
Вложение | Размер |
---|---|
![]() | 83.09 КБ |
Комментарии
Все содержимое
<?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']; -- из вашей функции
}
?>
Спасибо, Михаил, действительно помогло
Буду переделывать.
<?php print render($content); ?>
.И preprocess я тоже не заметил, поменял заработало. Но косяков там еще куча, как я понял
зря вы взялись за эту тему .
не phptemplate_preprocess_node а blue_zinfandel_preprocess_node
и не date('M', $node->created) и date('j', $node->created)
а format_date() надо использовать
Эту тему походу джумловоды писали .
Вы правы, это портированная Вордпресовская тема. Теперь только обратил внимание, что много ошибок. Спасибо Вам за подсказку. Но тема мне нравиться, буду доделывать ее.
Пожалуйста могу посоветовать установить модуль Devel и с помощью
<?php krumo(/* Любая переменная */) ?>
просматривать массивыУже пользуюсь Theme developer входящей в Devel. Мне там нравиться интерфейс, довольно удобно пользоваться, в том числе и для просмотра массивов. Но за подсказку спасибо, про krumo до этого не слышал.