modules = $this->modules(config('beejees.products.modules'), 'products', guard_url('products')); $this->repository = $product; } /** * Show product's list. * * @return response */ protected function index(PublicRequest $request) { $pageLimit = $request->input('pageLimit', config('database.pagination.limit')); $data = $this->repository ->pushFilter(RequestFilter::class) ->pushFilter(ProductPublicFilter::class) ->setPresenter(ProductListPresenter::class) ->simplePaginate($pageLimit) // ->withQueryString() ->toArray(); extract($data); $modules = $this->modules; return $this->response->setMetaTitle(trans('products::product.names')) ->view('products::public.product.index') ->data(compact('data', 'meta', 'modules')) ->output(); } /** * Show product. * * @param string $slug * * @return response */ protected function show(PublicRequest $request, $slug) { $data = $this->repository ->findBySlug($slug) ->toArray(); $modules = $this->modules; return $this->response->setMetaTitle($data['name'] . trans('products::product.name')) ->view('products::public.product.show') ->data(compact('data', 'modules')) ->output(); } }