skeeks-cms / cms

SkeekS CMS (Yii2)
https://cms.skeeks.com
BSD 3-Clause "New" or "Revised" License
136 stars 65 forks source link

Как вывести на странице товара reviews2_rating reviews2_count #72

Open alfabetz opened 6 years ago

alfabetz commented 6 years ago

Страница товара / отзывы. Вывести рейтинг и количество отзывов Как выводить? reviews2_count reviews2_rating

Модуль
    /vendor/skeeks/cms-module-reviews2

    Модель
    /vendor/skeeks/cms-module-reviews2/models/Reviews2Message.php

    После сохранения или обновления рейтинга, нужно обновить элемент.
    public function checkDataAfterSave() {}

    Что это такое и где создавать эти свойства
    $relatedPropertiesModel = $this->element->relatedPropertiesModel;

    Что это? Откуда берется \Yii::$app->reviews2. Где установить elementPropertyCountCode
    if (\Yii::$app->reviews2->elementPropertyCountCode)
      {
          if ($relatedPropertiesModel->hasAttribute(\Yii::$app->reviews2->elementPropertyCountCode))
          {
              $relatedPropertiesModel->setAttribute(\Yii::$app->reviews2->elementPropertyCountCode, $count);
          }
      }

      if (\Yii::$app->reviews2->elementPropertyRatingCode)
      {
          if ($relatedPropertiesModel->hasAttribute(\Yii::$app->reviews2->elementPropertyRatingCode))
          {
              $relatedPropertiesModel->setAttribute(\Yii::$app->reviews2->elementPropertyRatingCode, $ratingAll);
          }
      }

Админка
    Настройки / Найстройки модулей / Отзывы / Связь с элементами
    Связь значения рейтинга со свойством элемента
        reviews2_rating

    Связь количества отзывов со свойством элемента
        reviews2_count

    /~sx/cms/admin-settings?component=skeeks%5Ccms%5Creviews2%5Ccomponents%5CReviews2Component
skeeks-semenov commented 6 years ago

Как и любое динамически созданное свойство.

/* @var $model \skeeks\cms\models\CmsContentElement */
echo $model->relatedPropertiesModel->getAttribute('reviews2_rating');
echo $model->relatedPropertiesModel->getAttribute('reviews2_count');