diff --git a/beike/Admin/Http/Controllers/ProductController.php b/beike/Admin/Http/Controllers/ProductController.php
index 1cd31d53..8c75789e 100644
--- a/beike/Admin/Http/Controllers/ProductController.php
+++ b/beike/Admin/Http/Controllers/ProductController.php
@@ -158,7 +158,7 @@ class ProductController extends Controller
'tax_classes' => $taxClasses,
'weight_classes' => Weight::getWeightUnits(),
'source' => [
- 'categories' => CategoryRepo::flatten(locale()),
+ 'categories' => CategoryRepo::flatten(locale(), false),
],
'_redirect' => $this->getRedirect(),
];
diff --git a/beike/Repositories/CategoryRepo.php b/beike/Repositories/CategoryRepo.php
index c7dd2085..de67749b 100644
--- a/beike/Repositories/CategoryRepo.php
+++ b/beike/Repositories/CategoryRepo.php
@@ -55,14 +55,18 @@ class CategoryRepo
}
}
- public static function flatten(string $locale, $separator = ' > '): array
+ public static function flatten(string $locale, $includeInactive = true, $separator = ' > '): array
{
$sql = "SELECT cp.category_id AS id, TRIM(LOWER(GROUP_CONCAT(cd1.name ORDER BY cp.level SEPARATOR '{$separator}'))) AS name, c1.parent_id, c1.position";
$sql .= ' FROM category_paths cp';
$sql .= ' LEFT JOIN categories c1 ON (cp.category_id = c1.id)';
$sql .= ' LEFT JOIN categories c2 ON (cp.path_id = c2.id)';
$sql .= ' LEFT JOIN category_descriptions cd1 ON (cp.path_id = cd1.category_id)';
- $sql .= " WHERE cd1.locale = '" . $locale . "' GROUP BY cp.category_id ORDER BY name ASC";
+ $sql .= " WHERE cd1.locale = '" . $locale . "' ";
+ if (!$includeInactive) {
+ $sql .= ' AND c1.active = 1 ';
+ }
+ $sql .= ' GROUP BY cp.category_id ORDER BY c1.position ASC';
return DB::select($sql);
}
diff --git a/resources/beike/admin/views/pages/categories/form.blade.php b/resources/beike/admin/views/pages/categories/form.blade.php
index 5c30d980..cf60fc4c 100644
--- a/resources/beike/admin/views/pages/categories/form.blade.php
+++ b/resources/beike/admin/views/pages/categories/form.blade.php
@@ -21,7 +21,7 @@
- {{-- --}}
+
@php