diff --git a/beike/Admin/Repositories/PageRepo.php b/beike/Admin/Repositories/PageRepo.php index 6cb871a2..230b5184 100644 --- a/beike/Admin/Repositories/PageRepo.php +++ b/beike/Admin/Repositories/PageRepo.php @@ -28,7 +28,7 @@ class PageRepo 'description' ])->orderByDesc('updated_at'); - return $builder->paginate(); + return $builder->paginate(perPage()); } diff --git a/beike/Helpers.php b/beike/Helpers.php index 86196490..21cd7660 100644 --- a/beike/Helpers.php +++ b/beike/Helpers.php @@ -542,7 +542,7 @@ if (!function_exists('sub_string')) { * @param mixed $builder * @return string|string[]|null */ -function to_sql($builder) +function to_sql($builder): array|string|null { $sql = $builder->toSql(); foreach ($builder->getBindings() as $binding) { @@ -575,7 +575,7 @@ function create_directories($directoryPath) * @param $hookValue * @return mixed */ -function hook_filter($hookKey, $hookValue) +function hook_filter($hookKey, $hookValue): mixed { return Eventy::filter($hookKey, $hookValue); } @@ -587,7 +587,7 @@ function hook_filter($hookKey, $hookValue) * @param $hookValue * @return mixed */ -function hook_action($hookKey, $hookValue) +function hook_action($hookKey, $hookValue): mixed { Eventy::action($hookKey, $hookValue); } @@ -624,7 +624,7 @@ function add_action($hook, $callback, int $priority = 20, int $arguments = 1) * * @return bool */ -function installed() +function installed(): bool { return file_exists(storage_path('installed')); } @@ -634,7 +634,7 @@ function installed() * * @return bool */ -function is_mobile() +function is_mobile(): bool { return (new \Jenssegers\Agent\Agent())->isMobile(); } @@ -645,7 +645,7 @@ function is_mobile() * * @return bool */ -function is_secure() +function is_secure(): bool { if (!empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') { return true; @@ -660,3 +660,14 @@ function is_secure() } return false; } + + +/** + * 每页商品显示数量 + * + * @return int + */ +function perPage(): int +{ + return (int)system_setting('base.product_per_page', 20); +} diff --git a/beike/Repositories/BrandRepo.php b/beike/Repositories/BrandRepo.php index ed82e584..33101a07 100644 --- a/beike/Repositories/BrandRepo.php +++ b/beike/Repositories/BrandRepo.php @@ -95,7 +95,7 @@ class BrandRepo public static function list($filters): LengthAwarePaginator { $builder = self::getBuilder($filters); - return $builder->paginate(10)->withQueryString(); + return $builder->paginate(perPage())->withQueryString(); } diff --git a/beike/Repositories/CountryRepo.php b/beike/Repositories/CountryRepo.php index e142411e..9b543d54 100644 --- a/beike/Repositories/CountryRepo.php +++ b/beike/Repositories/CountryRepo.php @@ -99,7 +99,7 @@ class CountryRepo $builder->where('countries.status', $data['status']); } - return $builder->paginate(20)->withQueryString(); + return $builder->paginate(perPage())->withQueryString(); } diff --git a/beike/Repositories/CustomerRepo.php b/beike/Repositories/CustomerRepo.php index 2817b52b..ab7935d7 100644 --- a/beike/Repositories/CustomerRepo.php +++ b/beike/Repositories/CustomerRepo.php @@ -81,7 +81,7 @@ class CustomerRepo public static function list($data): LengthAwarePaginator { $builder = self::getListBuilder($data); - return $builder->paginate(20)->withQueryString(); + return $builder->paginate(perPage())->withQueryString(); } @@ -170,7 +170,7 @@ class CustomerRepo $builder = $customer->wishlists() ->whereHas('product'); - return $builder->with('product.description')->paginate(20); + return $builder->with('product.description')->paginate(perPage()); } /** diff --git a/beike/Repositories/OrderRepo.php b/beike/Repositories/OrderRepo.php index 4a08b7db..ec488743 100644 --- a/beike/Repositories/OrderRepo.php +++ b/beike/Repositories/OrderRepo.php @@ -44,7 +44,7 @@ class OrderRepo public static function getListByCustomer($customer): LengthAwarePaginator { $builder = self::getListBuilder(['customer' => $customer])->orderByDesc('created_at'); - return $builder->paginate(); + return $builder->paginate(perPage()); } @@ -69,7 +69,7 @@ class OrderRepo public static function filterOrders(array $filters = []): LengthAwarePaginator { $builder = self::getListBuilder($filters)->orderByDesc('created_at'); - return $builder->paginate(); + return $builder->paginate(perPage()); } diff --git a/beike/Repositories/ProductRepo.php b/beike/Repositories/ProductRepo.php index 99ba8d28..8cafb9b9 100644 --- a/beike/Repositories/ProductRepo.php +++ b/beike/Repositories/ProductRepo.php @@ -48,7 +48,7 @@ class ProductRepo public static function getProductsByCategory($categoryId): AnonymousResourceCollection { $builder = self::getBuilder(['category_id' => $categoryId, 'active' => 1]); - $products = $builder->with('inCurrentWishlist')->paginate(20); + $products = $builder->with('inCurrentWishlist')->paginate(perPage()); return ProductSimple::collection($products); } @@ -138,7 +138,7 @@ class ProductRepo public static function list($data = []) { - return self::getBuilder($data)->paginate($data['per_page'] ?? 20); + return self::getBuilder($data)->paginate($data['per_page'] ?? perPage()); } public static function autocomplete($name) diff --git a/beike/Repositories/RmaRepo.php b/beike/Repositories/RmaRepo.php index fd2e83c5..fe903a44 100644 --- a/beike/Repositories/RmaRepo.php +++ b/beike/Repositories/RmaRepo.php @@ -121,7 +121,7 @@ class RmaRepo } $builder->orderBy('id', 'DESC'); - return $builder->paginate(10)->withQueryString(); + return $builder->paginate(perPage())->withQueryString(); } /** diff --git a/beike/Repositories/UserRepo.php b/beike/Repositories/UserRepo.php index 48465400..4688e71b 100644 --- a/beike/Repositories/UserRepo.php +++ b/beike/Repositories/UserRepo.php @@ -84,7 +84,7 @@ class UserRepo $builder->where('admin_users.active', $data['active']); } - return $builder->paginate(20)->withQueryString(); + return $builder->paginate(perPage())->withQueryString(); } } diff --git a/beike/Repositories/ZoneRepo.php b/beike/Repositories/ZoneRepo.php index 653a774e..c474ce32 100644 --- a/beike/Repositories/ZoneRepo.php +++ b/beike/Repositories/ZoneRepo.php @@ -97,7 +97,7 @@ class ZoneRepo $builder->where('zones.status', $data['status']); } - return $builder->paginate(20)->withQueryString(); + return $builder->paginate(perPage())->withQueryString(); } /** diff --git a/beike/Shop/Http/Controllers/BrandController.php b/beike/Shop/Http/Controllers/BrandController.php index b3b781a1..7b30165b 100644 --- a/beike/Shop/Http/Controllers/BrandController.php +++ b/beike/Shop/Http/Controllers/BrandController.php @@ -27,7 +27,7 @@ class BrandController extends Controller 'description', 'inCurrentWishlist' ]) - ->paginate(20); + ->paginate(perPage()); $data = [ 'brand' => $brand, diff --git a/beike/Shop/Http/Controllers/ProductController.php b/beike/Shop/Http/Controllers/ProductController.php index 6ec86f63..fd3ae586 100644 --- a/beike/Shop/Http/Controllers/ProductController.php +++ b/beike/Shop/Http/Controllers/ProductController.php @@ -35,7 +35,10 @@ class ProductController extends Controller public function search(Request $request) { $keyword = $request->get('keyword'); - $products = ProductRepo::getBuilder(['keyword' => $keyword])->where('active', true)->paginate(); + $products = ProductRepo::getBuilder(['keyword' => $keyword]) + ->where('active', true) + ->paginate(perPage()) + ->withQueryString(); $data = [ 'products' => $products, diff --git a/plugins/LatestProducts/Controllers/MenusController.php b/plugins/LatestProducts/Controllers/MenusController.php index 075859ec..35150288 100644 --- a/plugins/LatestProducts/Controllers/MenusController.php +++ b/plugins/LatestProducts/Controllers/MenusController.php @@ -31,7 +31,7 @@ class MenusController extends Controller $products = ProductRepo::getBuilder(['active' => 1]) ->whereHas('master_sku') ->with('inCurrentWishlist') - ->paginate(40); + ->paginate(perPage()); $data = [ 'products' => $products, diff --git a/resources/beike/admin/views/pages/setting.blade.php b/resources/beike/admin/views/pages/setting.blade.php index 0940c7c5..31f05778 100644 --- a/resources/beike/admin/views/pages/setting.blade.php +++ b/resources/beike/admin/views/pages/setting.blade.php @@ -69,7 +69,7 @@
{{ __('admin/setting.admin_name_info') }}
- + {{-- diff --git a/resources/lang/de/admin/setting.php b/resources/lang/de/admin/setting.php index d317d8ce..814bfac9 100644 --- a/resources/lang/de/admin/setting.php +++ b/resources/lang/de/admin/setting.php @@ -16,7 +16,7 @@ return [ 'design_index' => 'Home-Editor', 'design_footer_index' => 'Fußzeilen-Editor', 'design_menu_index' => 'Navigationseditor', - 'product_perpage' => 'Die Anzahl der auf jeder Seite angezeigten Produkte', + 'product_per_page' => 'Die Anzahl der auf jeder Seite angezeigten Produkte', 'basic_settings' => 'Grundeinstellungen', 'store_settings' => 'Store-Einstellungen', diff --git a/resources/lang/en/admin/setting.php b/resources/lang/en/admin/setting.php index e1589f8a..c6e1d7de 100644 --- a/resources/lang/en/admin/setting.php +++ b/resources/lang/en/admin/setting.php @@ -16,7 +16,7 @@ return [ 'design_index' => 'Design Builder', 'design_footer_index' => 'Design Footer', 'design_menu_index' => 'Design Menu', - 'product_perpage' => 'The number of products displayed on each page', + 'product_per_page' => 'The Number of Per Page', 'basic_settings' => 'Basic Settings', 'store_settings' => 'Store Settings', diff --git a/resources/lang/es/admin/setting.php b/resources/lang/es/admin/setting.php index 16ac22cf..6cd4dbcc 100644 --- a/resources/lang/es/admin/setting.php +++ b/resources/lang/es/admin/setting.php @@ -16,7 +16,7 @@ return [ 'design_index' => 'Editor de inicio', 'design_footer_index' => 'editor de pie de página', 'design_menu_index' => 'Editor de navegación', - 'product_perpage' => 'El número de productos mostrados en cada página', + 'product_per_page' => 'El número de productos mostrados en cada página', 'basic_settings' => 'configuraciones básicas', 'store_settings' => 'configuración de la tienda', diff --git a/resources/lang/fr/admin/setting.php b/resources/lang/fr/admin/setting.php index f0e60b28..0ff63eb7 100644 --- a/resources/lang/fr/admin/setting.php +++ b/resources/lang/fr/admin/setting.php @@ -16,7 +16,7 @@ return [ 'design_index' => 'Éditeur d\'accueil', 'design_footer_index' => 'éditeur de pied de page', 'design_menu_index' => 'Éditeur de navigation', - 'product_perpage' => 'Le nombre de produits affichés sur chaque page', + 'product_per_page' => 'Le nombre de produits affichés sur chaque page', 'basic_settings' => 'paramètres de base', 'store_settings' => 'paramètres du magasin', diff --git a/resources/lang/it/admin/setting.php b/resources/lang/it/admin/setting.php index 95e33655..7e367710 100644 --- a/resources/lang/it/admin/setting.php +++ b/resources/lang/it/admin/setting.php @@ -16,7 +16,7 @@ return [ 'design_index' => 'Casa Editore', 'design_footer_index' => 'editor footer', 'design_menu_index' => 'Editor di navigazione', - 'product_perpage' => 'Il numero di prodotti visualizzati su ogni pagina', + 'product_per_page' => 'Il numero di prodotti visualizzati su ogni pagina', 'basic_settings' => 'impostazioni di base', 'store_settings' => 'impostazioni negozio', diff --git a/resources/lang/ja/admin/setting.php b/resources/lang/ja/admin/setting.php index 08108245..62d5c996 100644 --- a/resources/lang/ja/admin/setting.php +++ b/resources/lang/ja/admin/setting.php @@ -16,7 +16,7 @@ return [ 'design_index' => 'ホーム エディター', 'design_footer_index' => 'フッター エディター', 'design_menu_index' => 'ナビゲーション エディター', - 'product_perpage' => '各ページに表示される商品の数', + 'product_per_page' => '各ページに表示される商品の数', 'basic_settings' => '基本設定', 'store_settings' => 'ストア設定', diff --git a/resources/lang/ru/admin/setting.php b/resources/lang/ru/admin/setting.php index 3ce0f51d..52056a68 100644 --- a/resources/lang/ru/admin/setting.php +++ b/resources/lang/ru/admin/setting.php @@ -16,7 +16,7 @@ return [ 'design_index' => 'Домашний редактор', 'design_footer_index' => 'Редактор нижнего колонтитула', 'design_menu_index' => 'Редактор навигации', - 'product_perpage' => 'Количество товаров, отображаемых на каждой странице', + 'product_per_page' => 'Количество товаров, отображаемых на каждой странице', 'basic_settings' => 'Базовые настройки', 'store_settings' => 'Настройки магазина', diff --git a/resources/lang/zh_cn/admin/setting.php b/resources/lang/zh_cn/admin/setting.php index e6a4075e..5e8456f5 100644 --- a/resources/lang/zh_cn/admin/setting.php +++ b/resources/lang/zh_cn/admin/setting.php @@ -16,7 +16,7 @@ return [ 'design_index' => '首页编辑器', 'design_footer_index' => '页尾编辑器', 'design_menu_index' => '导航编辑器', - 'product_perpage' => '每页显示商品个数', + 'product_per_page' => '每页显示数量', 'basic_settings' => '基础设置', 'store_settings' => '商店设置', diff --git a/resources/lang/zh_hk/admin/setting.php b/resources/lang/zh_hk/admin/setting.php index e5810d53..7e9115bb 100644 --- a/resources/lang/zh_hk/admin/setting.php +++ b/resources/lang/zh_hk/admin/setting.php @@ -16,7 +16,7 @@ return [ 'design_index' => '首頁編輯器', 'design_footer_index' => '頁尾編輯器', 'design_menu_index' => '導航編輯器', - 'product_perpage' => '每頁顯示商品個數', + 'product_per_page' => '每頁顯示商品個數', 'basic_settings' => '基礎設置', 'store_settings' => '商店設置',