Esempio n. 1
0
 /**
  * Get category.
  * 
  * 
  */
 public function getCategory($id, $siteId = null)
 {
     if (!empty($siteId)) {
         return \Veer\Models\Category::where('sites_id', '=', $siteId)->where('id', '=', $id)->with(array('subcategories' => function ($query) use($siteId) {
             $query->where('sites_id', '=', $siteId);
         }, 'parentcategories' => function ($query) use($siteId) {
             $query->where('sites_id', '=', $siteId);
         }))->first();
     }
     return \Veer\Models\Category::where('id', '=', $id)->with(array('parentcategories' => function ($query) {
         $query->orderBy('manual_sort', 'asc');
     }, 'subcategories' => function ($query) {
         $query->orderBy('manual_sort', 'asc')->with('pages', 'products', 'subcategories');
     }))->first();
 }
 public function __construct()
 {
     $c = json_decode('[' . db_parameter('SIDEBAR_CATEGORIES') . ']');
     app('veer')->cachingQueries->make(\Veer\Models\Category::where('sites_id', '=', app('veer')->siteId)->where('id', '!=', db_parameter('CATEGORY_HOME', 0))->whereIn('id', $c)->orderBy('manual_sort', 'asc'));
     $this->data['categories'] = app('veer')->cachingQueries->lists('title', 'id', 5, 'categoriesSidebar' . app('veer')->siteId);
 }
Esempio n. 3
0
 /**
  * Sort categories.
  * 
  * @param array $data
  * @return \Veer\Services\Administration\Elements\Category
  */
 public function sort($data)
 {
     if (empty($data) || !isset($data['parentid'])) {
         return $this;
     }
     $data += ['relationship' => 'categories'];
     $categoryObj = new \Veer\Services\Show\Category();
     $oldsorting = $data['relationship'] == 'categories' ? $categoryObj->getAllCategories(array_get($data, 'image'), []) : [$categoryObj->getCategoryAdvanced($data['parentid'])];
     if (is_object($oldsorting) || is_object($oldsorting[0])) {
         foreach ($this->sortElements($oldsorting, $data) as $sort => $id) {
             \Veer\Models\Category::where('id', '=', $id)->update(['manual_sort' => $sort]);
         }
     }
     return $this;
 }