diff --git a/addons/default/visiosoft/cats-module/resources/config/settings.php b/addons/default/visiosoft/cats-module/resources/config/settings.php index 642d1000f..f01152746 100644 --- a/addons/default/visiosoft/cats-module/resources/config/settings.php +++ b/addons/default/visiosoft/cats-module/resources/config/settings.php @@ -7,4 +7,11 @@ return [ "default_value" => 5000, ] ], + "include_cities_sitemap" => [ + "type" => "anomaly.field_type.boolean", + "config" => [ + "default_value" => true, + "mode" => "checkbox", + ] + ] ]; diff --git a/addons/default/visiosoft/cats-module/resources/lang/en/setting.php b/addons/default/visiosoft/cats-module/resources/lang/en/setting.php index ab795c85d..6f7c461d5 100644 --- a/addons/default/visiosoft/cats-module/resources/lang/en/setting.php +++ b/addons/default/visiosoft/cats-module/resources/lang/en/setting.php @@ -4,4 +4,7 @@ return [ 'sitemap_dividing_number' => [ 'name' => 'Sitemap Dividing Number', ], + 'include_cities_sitemap' => [ + 'name' => 'Include Cities in Sitemap', + ], ]; diff --git a/addons/default/visiosoft/cats-module/src/Http/Controller/SitemapController.php b/addons/default/visiosoft/cats-module/src/Http/Controller/SitemapController.php index 8c1ab5f1e..77f25287b 100644 --- a/addons/default/visiosoft/cats-module/src/Http/Controller/SitemapController.php +++ b/addons/default/visiosoft/cats-module/src/Http/Controller/SitemapController.php @@ -23,9 +23,14 @@ class SitemapController extends PublicController public function index() { $categoriesCount = $this->categoryRepository->count(); - $citiesCount = $this->cityRepository->count(); - $pagesCount = $citiesCount ? $categoriesCount * $citiesCount : $categoriesCount; + if (setting_value('visiosoft.module.cats::include_cities_sitemap')) { + $citiesCount = $this->cityRepository->count(); + $pagesCount = $citiesCount ? $categoriesCount * $citiesCount : $categoriesCount; + } else { + $pagesCount = $categoriesCount; + } + $pagesCount = ceil($pagesCount / setting_value('visiosoft.module.cats::sitemap_dividing_number')); return response()->view('visiosoft.module.cats::sitemap.index', [ @@ -39,8 +44,8 @@ class SitemapController extends PublicController $page = request()->page ?: 1; $skip = $page - 1; - $citiesCount = $this->cityRepository->count(); - if ($citiesCount) { + if (setting_value('visiosoft.module.cats::include_cities_sitemap') + && $citiesCount = $this->cityRepository->count()) { $categoriesCount = $this->categoryRepository->count(); $takeCategories = $categoriesCount / ($categoriesCount * $citiesCount / $sitemapDividingNumber);