在1个视图中以Yii显示多个CStarRating

时间:2012-02-01 20:12:49

标签: php yii

我有一个视图,其中显示了产品的多个评论。每个评论最初都提交了标题,评论内容,并通过CStarRating评级值。所有这些数据都已成功保存。

在产品视图中,我显示了该产品的每个评论(显示相同的信息 - 评论标题,评论内容和评论评级)。

我遇到的问题是我可以显示评级的数值就好了但是当我尝试显示通过CStarRating为每次评论呈现的值时,只有一个CStarRating正确呈现(第一个)所有其他的他们缺少数据。

我的foreach循环中的代码是:

    <div class="rating">
            Rating: <?php echo $review->rating;?>
            <?php $this->Widget('CStarRating',array(
                    'id'=> 'rating'.$review->id,
                    'name'=>'test'.$review->id,
                    'attribute'=>'rating',
                    'value'=> $review->rating,
                    'readOnly'=>true,
                    'minRating'=>.5,
                    'maxRating'=>5,
                    'starCount'=>5,
                    'ratingStepSize'=>.5,
            ));?>
    </div>

显示多个评级值的正确语法是什么?

P.S。我搜索得很高,很惊讶没有找到任何关于显示数据的文档/问题 - 只插入数据。

2 个答案:

答案 0 :(得分:0)

我没有完整的答案,但我敢打赌,这与生成的javascript有关。检查生成的HTML / JS。您将在底部找到组件的JS代码。看看它是否能指向正确的方向。

答案 1 :(得分:0)

问题是评级的数据类型。您必须确保它是整数或浮点数(双精度)。这导致了评级小部件以错误的格式/错误类型接收数据并且不知道如何呈现它的错误。一旦在数据库中更正了数据类型,它就可以正常工作。