app\helpers\productsHelper::suggest PHP Метод

suggest() публичный статический Метод

manage the home section suggestions.
public static suggest ( $type, $limit = 4 ) : [json]
Результат [json]
    public static function suggest($type, $limit = 4)
    {
        $data = [];
        switch ($type) {
            case 'purchased':
                $data['preferences_key'] = 'product_purchased';
                $data['limit'] = $limit;
                break;
            case 'categories':
                $data['preferences_key'] = 'product_categories';
                $data['limit'] = $limit;
                $usr_prefe = UserController::getPreferences('', $data['preferences_key']);
                //look up for user preferences
                if (count($usr_prefe['tags']) == 0) {
                    $data['category'] = ProductsController::getRandCategoryId();
                    //if there is not info, we get a rand category id
                } else {
                    $data['category'] = $usr_prefe['tags'][mt_rand(0, count($usr_prefe['tags']) - 1)];
                    //if so, we get a rand user preferences category
                }
                break;
            case 'viewed':
                $data['preferences_key'] = 'product_viewed';
                $data['limit'] = $limit;
                break;
            case 'carousel':
                return ProductsController::getTopRated(0, $limit, false);
                break;
            default:
                $data['limit'] = $limit;
                $data['preferences_key'] = '';
                break;
        }
        $suggest = ProductsController::getSuggestions($data);
        //suggestion array
        return $suggest;
    }

Usage Example

Пример #1
0
 public function index()
 {
     $panel = ['center' => ['width' => 10], 'left' => ['width' => 2, 'class' => 'home-no-padding']];
     $helperProd = new productsHelper();
     $carousel = $helperProd->suggest('carousel');
     $viewed = $helperProd->suggest('viewed', 8);
     $categories = $helperProd->suggest('categories');
     $purchased = $helperProd->suggest('purchased');
     $suggestion = ['carousel' => $carousel, 'viewed' => $viewed, 'categories' => $categories, 'purchased' => $purchased];
     $helperProd->resetHaystack();
     //reseting session id validator
     $events = [];
     if (config('app.offering_free_products')) {
         $events = FreeProduct::getNextEvents(['id', 'description', 'min_participants', 'max_participants', 'participation_cost', 'start_date', 'end_date'], 4, date('Y-m-d'));
     }
     $tagsCloud = ProductsController::getTopRated(0, 20, true);
     $allWishes = '';
     $user = \Auth::user();
     if ($user) {
         $allWishes = Order::ofType('wishlist')->where('user_id', $user->id)->where('description', '<>', '')->get();
     }
     $i = 0;
     //carousel implementation
     $jumbotronClasses = ['jumbotron-box-left', 'jumbotron-box-right'];
     //carousel implementation
     $banner = ['/img/banner/01.png', '/img/banner/02.png', '/img/banner/03.png', '/img/banner/04.png'];
     // $this->createTags();
     return view('home', compact('panel', 'suggestion', 'allWishes', 'events', 'tagsCloud', 'jumbotronClasses', 'i', 'banner'));
 }
All Usage Examples Of app\helpers\productsHelper::suggest