You are here

Drupal实战 纠错,修正

g089h515r806 的头像
Submitted by g089h515r806 on 星期五, 2014-03-07 06:10

Drupal实战,写于两年前2012年,一年前,也就是2013年出版了,程序的版本是以前的,里面所使用的模块,大多数都有了最新的版本,里面提到的部分操作步骤,可能有所变化,涉及到的补丁,可能已经提交到了最新的稳定版本中了,所以不再需要。2

所以错误,再所难免,我们这里推出,纠错修正篇,让程序能够运行在最新的版本上。
我们今天尝试将其升级到最新的版本,包括Drupal和相关的模块,发现一个这样的问题,原来可以工作的五星投票,现在部分不能工作了,在列表页面,还有图书的详细页面。

为了能够正常工作,我做了一下改进:
我们需要修改sites\all\themes\bookstore\templates\override\views\book_average_rate下面的文件views-view--book-average-rate--default.tpl.php和
views-view--book-average-rate--panel-pane-1.tpl.php:

views-view--book-average-rate--panel-pane-1.tpl.php修改前:
<? php if ($rows): ?>
<? php print $rows; ?>
<? php elseif ($empty): ?>
<? php print $empty; ?>
<? php endif; ?>
修改后:
<? php if ($rows): ?>
<? php print $rows; ?>
<? php elseif(TRUE) : ?>
<? php drupal_add_css(drupal_get_path('module', 'fivestar').'/css/fivestar.css'); ?>
<div class="empty"> <? php print theme('fivestar_static', array('rating' => 0, 'tag' => 'vote')); ?></div>
<a id="comm_num_up" href="#review_point">
已有0人评论
</a>
<? php endif; ?>

views-view--book-average-rate--default.tpl.php修改前:
<? php if ($rows): ?>
<? php print $rows; ?>
<? php elseif ($empty): ?>
<? php print $empty; ?>
<?php endif; ?>

views-view--book-average-rate--default.tpl.php修改后:
<? php if ($rows): ?>
<? php print $rows; ?>
<? php elseif(TRUE) : ?>

<span>顾客评分:</span>
<?php drupal_add_css(drupal_get_path('module', 'fivestar').'/css/fivestar.css'); ?>
<div class="empty"> <?php print theme('fivestar_static', array('rating' => 0, 'tag' => 'vote')); ?></div>
<a id="comm_num_up" href="#review_point">
已有0人评论
</a>
<?php endif; ?>

此外,需要添加以下CSS代码,加在custom1.css文件里面了:
.fivestar-static-item .form-item {
margin: 0 0;
}
Fivestar里面多了一个.form-item导致了。

Drupal版本: