use yii\helpers\Url; /** @var ProductObject $product */ $url = Url::to(['product/view', 'slug' => $product->model->slug]); ?> <div class="col-md-3"> <div class="thumbnail"> <a class="image" href="<?php echo $url; ?> "> <?php echo Html::img($product->thumb(300, 300)); ?> </a> <p class="caption"> <?php echo Html::a($product->model->name, $url); ?> </p> <p class="price"><?php echo CurrencyHelper::format($product->model->price); ?> </p> <div class="rating"> <?php echo Rating::widget(['name' => "Product[{$product->model->id}]rating", 'value' => $product->model->rating, 'readonly' => true]); ?> </div> </div> </div>
use app\models\Product; use app\modules\admin\models\CommentSearch; use app\modules\user\models\User; use app\widgets\EntityDropDown; use app\widgets\Rating; use yii\bootstrap\Html; use yii\data\ActiveDataProvider; use yii\helpers\ArrayHelper; use yii\web\View; /** * @var CommentSearch $searchModel * @var ActiveDataProvider $dataProvider * @var View $this */ $this->title = Yii::t('app', 'Comments'); ?> <?php echo \yii\grid\GridView::widget(['dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [['attribute' => 'product_id', 'filter' => false, 'format' => 'text'], ['label' => Yii::t('app', 'Product name'), 'filter' => false, 'format' => 'html', 'value' => function ($comment) { /** @var Product $product */ $product = Product::findOne($comment->product_id); return Html::a($product->name, ['/admin/product/update', 'id' => $product->id]); }], ['attribute' => 'user_id', 'format' => 'html', 'filter' => EntityDropDown::widget(['model' => $searchModel, 'attribute' => 'user_id', 'items' => ArrayHelper::map(User::find()->all(), 'id', 'name')]), 'value' => function ($comment) { return User::findOne($comment->user_id)->name; }], ['attribute' => 'body', 'format' => 'text', 'value' => function ($comment) { return \yii\helpers\StringHelper::truncateWords($comment->body, 10); }], 'created_at:datetime', ['attribute' => 'rating', 'format' => 'raw', 'filter' => false, 'value' => function ($comment) { return Rating::widget(['readonly' => true, 'name' => "rating[{$comment->id}]", 'value' => $comment->rating]); }], ['attribute' => 'status', 'format' => 'html', 'filter' => EntityDropDown::widget(['model' => $searchModel, 'attribute' => 'user_id', 'items' => [Yii::t('app', 'Inactive'), Yii::t('app', 'Active')]]), 'value' => function ($comment) { return $comment->status == Comment::STATUS_ACTIVE ? Yii::t('app', 'Active') : Yii::t('app', 'Inactive'); }], ['class' => 'yii\\grid\\ActionColumn', 'template' => '{update} {delete}']]]);
?> </div> </div> <div class="col-md-6"> <?php if (!Yii::$app->user->isGuest) { ?> <h2><?php echo Yii::t('app', 'Leave a comment'); ?> </h2> <?php $form = ActiveForm::begin(['id' => 'form_add_comment', 'options' => ['data-pjax' => '']]); ?> <?php echo $form->field($newComment, 'rating')->widget(Rating::className())->label(false); ?> <?php echo $form->field($newComment, 'body')->textarea(['rows' => 3, 'placeholder' => Yii::t('app', 'Message')])->label(false); ?> <?php echo Html::submitButton(Yii::t('app', 'Submit'), ['class' => 'btn btn-primary']); ?> <?php ActiveForm::end(); ?> <?php } ?> </div> </div>
<div class="comment-form"> <?php $form = ActiveForm::begin(); ?> <?php echo $form->field($model, 'product_id')->hiddenInput()->label(false); ?> <?php echo $form->field($model, 'user_id')->hiddenInput()->label(false); ?> <?php echo $form->field($model, 'rating')->widget(Rating::className()); ?> <?php echo $form->field($model, 'body')->textarea(); ?> <?php echo $form->field($model, 'status')->widget(EntityDropDown::className(), ['items' => [Yii::t('app', 'Inactive'), Yii::t('app', 'Active')]]); ?> <div class="form-group form-buttons"> <?php echo Html::submitButton(Yii::t('app', 'Update'), ['class' => 'btn btn-primary']); ?> <?php
?> <span><?php echo CurrencyHelper::format($product->model->old_price); ?> </span> <?php } ?> <strong><?php echo CurrencyHelper::format($product->model->price); ?> </strong> </div> <?php Pjax::begin(['id' => 'product_avg_rating', 'options' => ['class' => 'avg-rating']]); echo Rating::widget(['name' => 'Product[rating]', 'value' => $product->model->rating, 'readonly' => true]); Pjax::end(); ?> <?php if ($product->model->inventory > Settings::value('stock', 'outofstock')) { ?> <div class="bordered"> <?php $form = ActiveForm::begin(['action' => ['/checkout/cart/add'], 'options' => ['class' => 'form-add-to-cart form-inline']]); ?> <?php echo $form->field($formModel, 'quantity'); ?> <?php echo $form->field($formModel, 'productId')->hiddenInput()->label(false); ?>