From c3994b2291790f21cd219d1c5e820c274cb6e085 Mon Sep 17 00:00:00 2001 From: Nikita Kiselev Date: Wed, 24 Dec 2025 01:45:50 +0300 Subject: [PATCH] feat: add setting to control category products button visibility - Add show_category_products_button field to StoreDTO - Update SettingsSerializerService to support new field - Add setting in admin panel on 'Store' tab with toggle - Pass setting to SPA through SettingsHandler - Button displays only for categories with child categories - Add default value true to configuration --- .cursor/agents.md | 24 +++++++++++++++++++ frontend/admin/src/stores/settings.js | 1 + frontend/admin/src/views/StoreView.vue | 4 ++++ frontend/spa/src/stores/SettingsStore.js | 2 ++ frontend/spa/src/views/CategoriesList.vue | 4 +++- .../upload/oc_telegram_shop/configs/app.php | 1 + .../src/DTO/Settings/StoreDTO.php | 9 +++++++ .../src/Handlers/SettingsHandler.php | 1 + .../Services/SettingsSerializerService.php | 5 ++++ 9 files changed, 50 insertions(+), 1 deletion(-) diff --git a/.cursor/agents.md b/.cursor/agents.md index 23e58de..fc201db 100644 --- a/.cursor/agents.md +++ b/.cursor/agents.md @@ -20,6 +20,30 @@ 4. **Тестируй изменения перед коммитом** 5. **Документируй публичные API** +### Правила коммитов + +1. **Следование Conventional Commits** + - Используй префиксы: `feat:`, `fix:`, `chore:`, `refactor:`, `style:`, `test:`, `docs:` + - Формат: `: ` (первая строка до 72 символов) + - После пустой строки - подробное описание изменений + +2. **Язык коммитов** + - Все коммиты на **английском языке** + - Подробное описание изменений в теле коммита + - Перечисляй все измененные файлы и ключевые изменения + +3. **Примеры правильных коммитов** + ``` + feat: add setting to control category products button visibility + + - Add show_category_products_button field to StoreDTO + - Update SettingsSerializerService to support new field + - Add setting in admin panel on 'Store' tab with toggle + - Pass setting to SPA through SettingsHandler + - Button displays only for categories with child categories + - Add default value true to configuration + ``` + ### Запрещено - Хардкод значений (используй конфиги/настройки) diff --git a/frontend/admin/src/stores/settings.js b/frontend/admin/src/stores/settings.js index cee5dae..e9952dd 100644 --- a/frontend/admin/src/stores/settings.js +++ b/frontend/admin/src/stores/settings.js @@ -39,6 +39,7 @@ export const useSettingsStore = defineStore('settings', { enable_store: true, feature_coupons: true, feature_vouchers: true, + show_category_products_button: true, }, orders: { diff --git a/frontend/admin/src/views/StoreView.vue b/frontend/admin/src/views/StoreView.vue index 54d2870..ba42143 100644 --- a/frontend/admin/src/views/StoreView.vue +++ b/frontend/admin/src/views/StoreView.vue @@ -21,6 +21,10 @@ подарочные сертификаты OpenCart при оформлении заказа.

+ + +

Включите, чтобы пользователи видели кнопку «Показать товары из "название текущей категории"» на странице категории, если у неё есть дочерние категории. Настройка работает только для страниц категорий с дочерними категориями, при отключении кнопка скрыта.

+