Отображение нескольких CStarRating в Yii в 1 представлении - PullRequest
2 голосов
/ 02 февраля 2012

У меня есть представление, в котором отображается несколько отзывов о товаре. Каждый отзыв был первоначально представлен с заголовком, содержанием обзора и через 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 голосов
/ 30 марта 2012

Проблема заключалась в типе данных рейтинга.Вы должны убедиться, что это целое число или число с плавающей запятой (double).Это приводило к ошибке, что виджет оценки получал данные в неправильном формате / неправильного типа и не знал, как их отобразить.Как только тип данных был исправлен в базе данных, он прекрасно работает.

0 голосов
/ 03 февраля 2012

У меня нет полного ответа для вас, но я уверен, что это связано с созданным javascript. Проверьте сгенерированный HTML / JS. Вы найдете код JS для компонентов внизу. Посмотрите, может ли это указать вам правильное направление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...