/** * 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); }
/** * 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; }