view.php 13.6 KB
<?php
    use artbox\catalog\models\OptionGroup;
    use artbox\catalog\models\Product;
    use artbox\catalog\models\Variant;
    use artbox\core\components\SeoComponent;
    use artbox\core\helpers\ImageHelper;
    use yii\bootstrap\Html;
    use yii\helpers\ArrayHelper;
    use yii\web\View;
    
    /**
     * @var View         $this
     * @var Product      $model
     * @var Variant      $variant
     * @var SeoComponent $seo
     * @var array        $groups
     * @var Product[]    $similar
     */
    $seo = \Yii::$app->get('seo');
    if (!empty( $model->category )) {
        if (!empty( $model->category->parent )) {
            $this->params[ 'breadcrumbs' ][] = [
                'label' => $model->category->parent->lang->title,
                'url'   => [
                    '/category/view',
                    'category' => $model->category->parent->lang->alias->value,
                ],
            ];
        }
        $this->params[ 'breadcrumbs' ][] = [
            'label' => $model->category->lang->title,
            'url'   => [
                '/category/view',
                'category' => $model->category->lang->alias->value,
            ],
        ];
    }
    $this->params[ 'breadcrumbs' ][] = $seo->title;
?>
<div id="content">
    <div class="container">
        <div class="row">
            <div class="col-md-12">
                
                <div class="row" id="productMain">
                    <div class="col-sm-6">
                        <div id="mainImage">
                            <?php
                                if (!empty( $model->images )) {
                                    echo ImageHelper::set($model->images[ 0 ]->getPath())
                                                    ->fillResize(555, 555)
                                                    ->renderImage(
                                                        [
                                                            'class' => 'img-responsive',
                                                            'alt'   => $model->lang->title,
                                                            'title' => $model->lang->title,
                                                        ]
                                                    );
                                } else {
                                    echo ImageHelper::set('@frontend/web/img/no-image.png')
                                                    ->fillResize(555, 555)
                                                    ->renderImage(
                                                        [
                                                            'class' => 'img-responsive',
                                                            'alt'   => $model->lang->title,
                                                            'title' => $model->lang->title,
                                                        ]
                                                    );
                                }
                            ?>
                        </div>
                        
                        <?php
                            if ($model->is(2)) {
                                ?>
                                <div class="ribbon sale">
                                    <div class="theribbon">SALE</div>
                                    <div class="ribbon-background"></div>
                                </div>
                                <!-- /.ribbon -->
                                <?php
                            }
                            if ($model->is(1)) {
                                ?>
                                <div class="ribbon new">
                                    <div class="theribbon">NEW</div>
                                    <div class="ribbon-background"></div>
                                </div>
                                <!-- /.ribbon -->
                                <?php
                            }
                        ?>
                        
                        <div class="row" id="thumbs">
                            <?php
                                if (!empty( $model->images )) {
                                    foreach ($model->images as $image) {
                                        echo Html::tag(
                                            'div',
                                            Html::a(
                                                ImageHelper::set($image->getPath())
                                                           ->fillResize(70, 60)
                                                           ->renderImage(
                                                               [
                                                                   'class' => 'img-responsive',
                                                                   'alt'   => $model->lang->title,
                                                                   'title' => $model->lang->title,
                                                               ]
                                                           ),
                                                ImageHelper::set($image->getPath())
                                                           ->fillResize(555, 555)
                                                           ->render(),
                                                [
                                                    'class' => 'thumb',
                                                ]
                                            ),
                                            [
                                                'class' => 'col-xs-2',
                                            ]
                                        );
                                    }
                                } else {
                                    echo Html::tag(
                                        'div',
                                        Html::a(
                                            ImageHelper::set('@frontend/web/img/no-image.png')
                                                       ->fillResize(70, 60)
                                                       ->renderImage(
                                                           [
                                                               'class' => 'img-responsive',
                                                               'alt'   => $model->lang->title,
                                                               'title' => $model->lang->title,
                                                           ]
                                                       ),
                                            ImageHelper::set('@frontend/web/img/no-image.png')
                                                       ->fillResize(555, 555)
                                                       ->render(),
                                            [
                                                'class' => 'thumb',
                                            ]
                                        ),
                                        [
                                            'class' => 'col-xs-2',
                                        ]
                                    );
                                }
                            ?>
                        </div>
                        <?php
                            if (!empty( $model->video )) {
                                ?>
                                <div class="product-video">
                                    <div class="h3">
                                        <?php echo \Yii::t('app', 'Видеообзор продукта'); ?>
                                    </div>
                                    <div class="video-box">
                                        <?php echo $model->video; ?>
                                    </div>
                                </div>
                                <?php
                            }
                        ?>
                    </div>
                    <div class="col-sm-6">
                        <div class="box">
                            <h1><?php echo $model->lang->title; ?></h1>
                            <p class="no-margin"><?php echo $variant->sku; ?></p>
                            <p class="price">
                                <span class="price-title">Цена:</span><?php echo $variant->price ? : 0; ?> грн&ensp;
                                <button class="btn btn-success">
                                    <i class="fa fa-shopping-cart"></i> Добавить в корзину
                                </button>
                                <button class="btn btn-default pull-right" data-toggle="tooltip" data-placement="top" title="Добавить в избранное">
                                    <i class="fa fa-heart-o"></i>
                                </button>
                            </p>
                            <hr>
                            
                            <button class="btn btn-template-main">
                                <i class="fa fa-phone"></i> Купить в один клик
                            </button>
                            &emsp;<button class="btn btn-template-main">
                                <i class="fa fa-tags"></i> Купить в кредит
                            </button>
                        </div>
                        <div class="box" id="details">
                            <h2><?php echo \Yii::t('app', 'Описание товара'); ?></h2>
                            <?php echo $model->lang->description ? : \Yii::t('app', 'Нет описания'); ?>
                        </div>
                        
                        <div class="box" id="details">
                            <h2><?php echo \Yii::t('app', 'Характеристики'); ?></h2>
                            <table class="table">
                                <tbody>
                                    <?php
                                        foreach ($groups as $group) {
                                            foreach ($group as $optionGroup) {
                                                /**
                                                 * @var OptionGroup $optionGroup
                                                 */
                                                echo Html::tag(
                                                    'tr',
                                                    Html::tag(
                                                        'td',
                                                        $optionGroup->lang->title,
                                                        [ 'class' => 'td-title' ]
                                                    ) . Html::tag(
                                                        'td',
                                                        implode(
                                                            ', ',
                                                            ArrayHelper::getColumn(
                                                                $optionGroup->currentOptions,
                                                                'lang.value'
                                                            )
                                                        )
                                                    )
                                                );
                                            }
                                        }
                                    ?>
                                </tbody>
                            </table>
                        </div>
                    </div>
                
                </div>
                
                <?php
                    if (!empty( $similar )) {
                        ?>
                        <div class="heading text-center">
                            <h2><?php echo \Yii::t('app', 'Похожие товары'); ?></h2>
                        </div>
                        
                        <div class="product-carousel">
                            <div class="homepage owl-carousel">
                                <?php
                                    $newItemsArrays = array_chunk($similar, 4);
                                    foreach ($newItemsArrays as $newItemsArray) {
                                        ?>
                                        <div class="products">
                                            <?php
                                                foreach ($newItemsArray as $product) {
                                                    echo $this->render(
                                                        '@frontend/views/site/_slider_product',
                                                        [
                                                            'product' => $product,
                                                        ]
                                                    );
                                                }
                                            ?>
                                        </div>
                                        <?php
                                    }
                                ?>
                            </div>
                        </div>
                        <?php
                    }
                ?>
            </div>
            <!-- /.col-md-9 -->
        </div>
        <!-- /.row -->
    </div>
    <!-- /.container -->
</div>
<!-- /#content -->