¨4.0.1¨

This commit is contained in:
¨NW¨
2023-12-03 14:07:47 +00:00
parent c08b36d1b6
commit f35052522d
1112 changed files with 43019 additions and 24987 deletions

View File

@@ -11,18 +11,20 @@ class ProductIndexController
{
private $recentlyViewed;
public function __construct(RecentlyViewed $recentlyViewed)
{
$this->recentlyViewed = $recentlyViewed;
}
protected function getProducts($settingPrefix)
{
$type = setting("{$settingPrefix}_product_type", 'custom_products');
$limit = setting("{$settingPrefix}_products_limit");
if ($type === 'category_products') {
return $this->categoryProducts($settingPrefix,$limit);
return $this->categoryProducts($settingPrefix, $limit);
}
if ($type === 'recently_viewed_products') {
@@ -37,7 +39,8 @@ class ProductIndexController
->clean();
}
private function categoryProducts($settingPrefix,$limit)
private function categoryProducts($settingPrefix, $limit)
{
return Category::findOrNew(setting("{$settingPrefix}_category_id"))
->products()
@@ -46,33 +49,36 @@ class ProductIndexController
->get();
}
private function recentlyViewedProducts($limit)
{
return collect($this->recentlyViewed->products())
->reverse()
->when(! is_null($limit), function (Collection $products) use ($limit) {
->when(!is_null($limit), function (Collection $products) use ($limit) {
return $products->take($limit);
})
->values();
}
private function latestProductsCallback($limit)
{
return function ($query) use ($limit) {
$query->latest()
->when(! is_null($limit), function ($q) use ($limit) {
->when(!is_null($limit), function ($q) use ($limit) {
$q->limit($limit);
});
};
}
private function customProductsCallback($settingPrefix)
{
return function ($query) use ($settingPrefix) {
$productIds = setting("{$settingPrefix}_products", []);
$query->whereIn('id', $productIds)
->when(! empty($productIds), function ($q) use ($productIds) {
->when(!empty($productIds), function ($q) use ($productIds) {
$productIdsString = collect($productIds)->filter()->implode(',');
$q->orderByRaw("FIELD(id, {$productIdsString})");