私は、category_item.php で標準の K2 評価を再構築して、評価を星として表示して数字で表示するようにしました。
私がしたことは、このコードを置き換えたことです:
<?php if($this->item->params->get('catItemRating')): ?>
<div id="catItemRatingBlock">
<div class="itemRatingForm">
<ul class="itemRatingList">
<li class="itemCurrentRating" id="itemCurrentRating<?php echo $this->item->id; ?>" style="width:<?php echo $this->item->votingPercentage; ?>%;"></li>
<li><a href="#" rel="<?php echo $this->item->id; ?>" class="one-star">1</a></li>
<li><a href="#" rel="<?php echo $this->item->id; ?>" class="two-stars">2</a></li>
<li><a href="#" rel="<?php echo $this->item->id; ?>" class="three-stars">3</a></li>
<li><a href="#" rel="<?php echo $this->item->id; ?>" class="four-stars">4</a></li>
<li><a href="#" rel="<?php echo $this->item->id; ?>" class="five-stars">5</a></li>
</ul>
</div>
</div>
<?php endif; ?>
このコードで:
<?php if($this->item->params->get('catItemRating')): ?>
<div id="catItemRatingBlock">
<div class="itemRatingForm">
<?php
$rating_sum=0;
$rating_cont=0;
$db =& JFactory::getDBO();
$query='SELECT * FROM #__k2_rating WHERE itemID='. $this->item->id;
$db->setQuery($query);
$votes=$db->loadObject();
$rating_sum = intval($votes->rating_sum);
$rating_count = intval($votes->rating_count);
$evaluate = ($rating_count==0) ? "0" : number_format($rating_sum/$rating_count,1);
$evaluate = str_replace('.0', '', $evaluate);
$output=" Rating: ". $evaluate."/5";
echo $output;
?>
</div>
</div>
<?php endif; ?>
そして、私が望むのは、K2 モジュールでも動作することです。ここで上に書いたのと同じコードを使用して、k2 コンテンツ モジュールでそれを実現しようとしましたが、まったく機能しません。
誰でもそれをやってのける方法を知っていますか?