K2_content 模块评分

2022-01-06 00:00:00 module php joomla-k2 joomla rating

我一直在 category_item.php 中重建标准的 K2 评分,以查看评分从显示为星星到显示为数字.

我所做的是,我替换了这段代码:

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="一星">1</a></li><li><a href="#" rel="<?php echo $this->item->id; ?>"class="两星">2<li><a href="#" rel="<?php echo $this->item->id; ?>"class="三星级">3</a></li><li><a href="#" rel="<?php echo $this->item->id; ?>"class="四星">4</a></li><li><a href="#" rel="<?php echo $this->item->id; ?>"class="五颗星">5</a></li>

<?php endif;?>

使用此代码:

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=" 评分:".$评估."/5";回声$输出;?>

<?php endif;?>

我想要的是它也能在 K2 模块上运行.我尝试使用我在上面写的相同代码在 k2 内容模块中实现它,但这根本不起作用.

有人知道怎么把它拉下来吗?

解决方案

替换

item->params->get('catItemRating')): ?>

与:

get('catItemRating')): ?>

I've been reconstructing the standard K2 rating in the category_item.php to view ratings from to show as stars to show as number.

What I did was, I replaced this code:

<?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; ?>

with this code:

<?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; ?>

And what I want is for it to work on the K2 module as well. I tried to use the same code that I wrote above here to achieve it in k2 content module but that doesn't work at all.

Anyone know how to pull it off?

解决方案

Replace

<?php if($this->item->params->get('catItemRating')): ?>

with:

<?php if($params->get('catItemRating')): ?>

相关文章