0

我正在使用 datalife 引擎制作博客,并且正在尝试调整默认评级模块。

在 DLE 中,默认评级显示 5 星和投票数。我想根据该信息添加一个从 0 到 10 的实际分数。

在 SQL db 中,信息存储在表“dle_post_extras”中,它有两列,“rating”和“vote_num”。所以我需要最终结果是那个特定的“id”中的=“rating”/(dividing)“vote_num”。

据我所知,tpl 文件中用于显示评级信息的 [rating] 和 {rating},它们在 show.full.php 中定义,如下所示

    if( $row['allow_rate'] ) { 

        $tpl->set( '{rating}', ShowRating( $row['id'], $row['rating'], $row['vote_num'], $user_group[$member_id['user_group']]['allow_rating'] ) );
        $tpl->set( '{vote-num}', "<span id=\"vote-num-id-".$row['id']."\">".$row['vote_num']."</span>" );


        $tpl->set( '[rating]', "" );
        $tpl->set( '[/rating]', "" );

    } else { 

        $tpl->set( '{rating}', "" );
        $tpl->set( '{vote-num}', "" );
        $tpl->set_block( "'\\[rating\\](.*?)\\[/rating\\]'si", "" );
    }

我不想更改这部分,我需要能够仍然使用它。你能帮我如何在数据库中查询这两个值并将它们一分为二,以及如何显示它们吗?哦,最后的“分数”只能有一位小数。输出只能用于 ex:7.1、8.6、4.2 等

编辑:

好的,所以我想要这样的东西

$tpl->set( '{rating_num}',$row['rating'] dividing by $row['vote_num']);

并且这个值四舍五入到小数点后 1

4

1 回答 1

0

好的,解决了:)

$tpl->set( '{rating_num}',number_format (($row['rating']/ $row['vote_num']),1 ));

并使用,只需在模板文件上使用 {rating_num}

于 2014-01-30T17:48:26.650 回答