getTopRated() public static method

This method is able to return the higher rate product list, everything will depends of $point parameter.
public static getTopRated ( [integer] $point = '5', [integer] $limit = 5, [boolean] $tags = false ) : [array
$point [integer]
$limit [integer]
$tags [boolean]
return [array
Ejemplo n.º 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'));
 }
Ejemplo n.º 2
0
 /**
  * manage the home section suggestions
  * @param  [string] $type, which is the reference point to build the suggest
  * @return [json] $suggest, that contain the products list to be displayed on home page
  */
 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;
 }