Index.php 2.8 KB
Newer Older
_
__FresHmaN 已提交
1
<?php
T
Terry 已提交
2 3 4 5 6 7
/**
 * FecMall file.
 *
 * @link http://www.fecmall.com/
 * @copyright Copyright (c) 2016 FecMall Software LLC
 * @license http://www.fecmall.com/license/
_
__FresHmaN 已提交
8 9
 */

T
Terry 已提交
10
namespace fecshop\app\appfront\modules\Cms\block\home;
_
__FresHmaN 已提交
11 12

use Yii;
T
Terry 已提交
13 14 15 16
/**
 * @author Terry Zhao <2358269014@qq.com>
 * @since 1.0
 */
_
__FresHmaN 已提交
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
class Index
{
    public function getLastData()
    {
        $this->initHead();
        // change current layout File.
        //Yii::$service->page->theme->layoutFile = 'home.php';
        return [
            'bestFeaturedProducts'     => $this->getFeaturedProduct(),
            'bestSellerProducts'    => $this->getBestSellerProducts(),
        ];
    }

    public function getFeaturedProduct()
    {
T
Terry 已提交
32 33 34
        $appName = Yii::$service->helper->getAppName();
        $bestFeatureSkuConfig = Yii::$app->store->get($appName.'_home', 'best_feature_sku');
        $featured_skus = explode(',', $bestFeatureSkuConfig);
_
__FresHmaN 已提交
35 36 37 38 39 40

        return $this->getProductBySkus($featured_skus);
    }

    public function getBestSellerProducts()
    {
T
Terry 已提交
41 42 43
        $appName = Yii::$service->helper->getAppName();
        $bestSellSkusConfig = Yii::$app->store->get($appName.'_home', 'best_seller_sku');
        $bestSellSkus = explode(',', $bestSellSkusConfig);
_
__FresHmaN 已提交
44 45 46 47 48 49 50 51 52 53
        return $this->getProductBySkus($bestSellSkus);
    }

    public function getProductBySkus($skus)
    {
        if (is_array($skus) && !empty($skus)) {
            $filter['select'] = [
                'sku', 'spu', 'name', 'image',
                'price', 'special_price',
                'special_from', 'special_to',
54
                'url_key', 'score', 'reviw_rate_star_average', 'review_count'
_
__FresHmaN 已提交
55 56 57 58 59 60 61 62 63 64 65
            ];
            $filter['where'] = ['in', 'sku', $skus];
            $products = Yii::$service->product->getProducts($filter);
            $products = Yii::$service->category->product->convertToCategoryInfo($products);

            return $products;
        }
    }

    public function initHead()
    {
T
Terry 已提交
66 67 68 69 70 71 72
        $appName = Yii::$service->helper->getAppName();
        $home_title = Yii::$app->store->get($appName.'_home', 'meta_title');
        $appName = Yii::$service->helper->getAppName();
        $home_meta_keywords = Yii::$app->store->get($appName.'_home', 'meta_keywords');
        $appName = Yii::$service->helper->getAppName();
        $home_meta_description = Yii::$app->store->get($appName.'_home', 'meta_description');
        
_
__FresHmaN 已提交
73 74
        Yii::$app->view->registerMetaTag([
            'name' => 'keywords',
T
Terry 已提交
75
            'content' => Yii::$service->store->getStoreAttrVal($home_meta_keywords, 'meta_keywords'),
_
__FresHmaN 已提交
76 77 78 79
        ]);

        Yii::$app->view->registerMetaTag([
            'name' => 'description',
T
Terry 已提交
80
            'content' => Yii::$service->store->getStoreAttrVal($home_meta_description, 'meta_description'),
_
__FresHmaN 已提交
81
        ]);
T
Terry 已提交
82
        Yii::$app->view->title = Yii::$service->store->getStoreAttrVal($home_title, 'meta_title');
_
__FresHmaN 已提交
83 84
    }
}