Bug Fixes
- Invalid or deleted FAQ pages, categories and items now return a clean HTTP 404 response. This prevents unnecessary error entries in the log files that were previously triggered, for example, by old SEO URLs, search engines or already deleted pages.
New Features
- New: the AI assistant now supports URL as a source — provide a web page; its content is fetched server-side and used as context for FAQ generation. With SSRF protection: http/https only, no internal/private addresses, size and timeout limits.
New Features
- AI assistant (bulk): generate multiple FAQ question/answer pairs at once from a topic or product, then select, edit and save them. Dedicated "AI Assistant" menu entry.
- Translation: translate selected FAQ suggestions into additional shop languages with AI; stored as language translations on save.
- Product-based generation uses product data (name, description, manufacturer, properties) as context.
- Selectable generation language; AI features only appear when the AI assistant is enabled.
- Human-in-the-loop: suggestions are only saved after selection/confirmation.
Bug Fixes
- Removed legacy SVG icon font (lightGallery) with an external DTD reference (Store code-review compliance). No functional change.
New Features
- New: AI assistant for creating FAQ answers – "Generate answer with AI" and "Improve answer" directly in the entry form. Suggestions appear as a live preview and are only applied to the answer after confirmation ("Apply").
- Supports OpenAI and Anthropic with your own API key; tone, model and token limit are configurable.
- Optional live streaming of the answer (smooth typewriter effect).
- New "FAQ Manager – AI assistant" settings card including a privacy notice.
New Features
- New: Review hint on the statistics dashboard — after active usage (5+ FAQ entries or 50+ views) a discreet, dismissible hint appears with a link to leave a review in the Shopware Store.
Improved
- Statistics dashboard: content unified into a centered container — KPI tiles, top lists and the bottom row now share the same width.
- Statistics dashboard: the categories list now shows the number of FAQ entries per category and is sorted by it.
New Features
- New: Per-element settings for the "FAQ Manager – Items" and "FAQ Manager – Categories" CMS elements. First question expanded, show author, show date, and date format can now be configured directly on each element — independent of the global plugin configuration.
- Author and date are displayed side by side in the CMS elements; the "/" separator only appears when both are enabled.
Fixed
- Bootstrap 5 compatibility: replaced data-parent with data-bs-parent in the CMS element templates so the accordion collapses correctly.
New Features
- New: Store API detail endpoints for single FAQ entities:
- GET /store-api/faq/page/{pageId} — returns a single FAQ page with its category associations
- GET /store-api/faq/category/{categoryId} — returns a single FAQ category with its items and media
- GET /store-api/faq/item/{itemId} — returns a single active FAQ item with its categories and media
- Routes return a 404 response when the requested entity does not exist
- Fixed: Category templates 2 and 3 now correctly use faqCategoryItems instead of faqCategory.list — FAQ entries were not displayed when template 2 or 3 was selected
- Fixed: ManyToOneAssociationField name in FaqListMediaDefinition corrected from faq_manager_list to faqManagerList to match the Entity property name (Store PHPStan: shopware.bestPractise.dal.propertyMissing)
- Fixed: Replaced generic TranslationCollection in Entity classes with concrete collection types (FaqCategoriesTranslationCollection, FaqListTranslationCollection, FaqPagesTranslationCollection)
Technical improvements (Store PHPStan compliance)
- Fixed: SystemConfigService::get() now passes salesChannelId everywhere for correct per-SalesChannel configuration
- Fixed: Replaced Context::createDefaultContext() with Context::createCLIContext() in Command and Twig extension
- Fixed: Replaced EqualsFilter('id', ...) with new Criteria([$id]) / Criteria::setIds() (DAL best practice)
- Fixed: Added all missing properties to Entity classes as required by their Definitions (title, question, answer, author, metaTitle, metaKeywords, metaDescription, translations, parent, etc.)
- Fixed: Corrected setter parameter types in Entity classes (e.g. string → int/bool for setPosition, setActive)
- Fixed: Pagination template (storefront/component/pagination.html.twig) was overriding Shopware's default pagination on all category pages — moved to FAQ-specific path (page/faq/component/pagination.html.twig)
- Fixed: PHPStan Store check error by removing direct AbstractReverseProxyGateway type hint (optional Storefront dependency)
- Fixed: Suppressed PHPStan warning for optional Storefront dependency (AbstractReverseProxyGateway)
New Features
- New: Statistics dashboard in the administration — KPI cards (pages, categories, items, views) and top-10 lists of most-viewed questions and pages
- New: Pagination for FAQ category pages — configurable items per page in plugin settings (0 = show all)
- New: "Related Questions" section on FAQ item detail pages
- New: Import/Export profiles for FAQ items, pages and categories (created automatically on install)
- New: HTTP cache invalidation — automatically purges the Varnish/Shopware reverse proxy cache when FAQ content changes
Bugfixes
- Fixed: PHP 8.2 TypeError when loading FAQ data in the administration — removed untyped $updatedAt property from entity classes
- Fixed: Statistics dashboard showed a blank white page — migrated administration components to the Meteor Component Library (mt-card, mt-loader, mt-button, mt-icon)
- Fixed: Search suggestions displayed incorrect result count (searchResultsCount instead of searchResults.total)
- Fixed: Twig extension now loads FAQ categories and items in the correct SalesChannel context instead of the generic default context
Technical Improvements
- Added updated_at column to all FAQ entities (pages, categories, items)
- Entity definition: replaced ParentFkField with FkField for parent_id in FAQ items
- Import/Export profiles are now correctly removed on plugin uninstall
- Twig extension: constructor promotion and RequestStack injection for proper context resolution
- Administration build switched to the Vite pipeline (./bin/build-administration.sh) for correct asset generation in Shopware 6.7
- Fixed deprecated MissingRequestParameterException replaced with RoutingException::missingRequestParameter() for Shopware 6.7 compatibility
Bugfixes
- Fixed: Call to a member function getActive() on null in FaqController when a FAQ item is not found (e.g. invalid URL or deleted entry)
- Fixed: TypeError in FaqPageNotFoundException when the page_id query parameter is missing — now returns a proper HTTP 400 error
Technical Improvements
- Removed deprecated shopware.snippet.file service definitions from services.xml that caused Symfony 7.4 deprecation warnings — Storefront snippets are loaded automatically from Resources/snippet/
Fixed: Rich text editor in administration no longer displays "custom code" warning for empty content on new pages/entries
- Initializes page descriptions (`pages.description`) with valid HTML p-tag
- Initializes FAQ answers (`item.answer`) with p-tag when creating and editing
Fixed: Existing FAQ texts have been cleaned up for the new editor.
- Migration normalizes br-tag in descriptions and answers
- Reduces unnecessary "Code changes required" dialogs when editing existing content
Bugfixes
- CRITICAL: Fixed many-to-many relationship handling in administration UI
- Migrated deprecated sw-entity-many-to-many-select to sw-entity-multi-select component
- Fixed duplicate entries when assigning categories, pages, or items in admin interface
- Resolved 404 errors when removing many-to-many associations
- Enhanced all FAQ admin detail pages (categories, pages, items) with modern entity select components
Technical Improvements
- Updated: Replaced all deprecated sw-entity-many-to-many-select components with sw-entity-multi-select
- Updated faq-manager-categories-detail for pages and list items assignment
- Updated faq-manager-pages-detail for categories assignment
- Updated faq-manager-items-detail for categories assignment with custom label slots
- Updated: Added proper event handling with @update:entity-collection for reactive updates
- Updated: Added entity-name attribute to all entity select components for better type safety
- Removed obsolete :local-mode property (handled automatically by new component)
- Updated: Modernized admin components to align with Shopware 6.7+ best practices
Bugfixes
- CRITICAL: Fixed PHP errors when accessing deleted FAQ categories or pages via old SEO URLs
- Added robust null-checks in `FaqController::page()` method to prevent `Call to a member function getActive() on null` errors
- Added comprehensive validation in `FaqController::category()` method to prevent `Call to a member function getPages() on null` errors
- Orphaned SEO URLs now properly return 404 pages instead of white error screens - NEW: Implemented custom exception classes (`FaqPageNotFoundException`, `FaqCategoryNotFoundException`) for better error handling
- NEW: Added `FaqSeoUrlCleanupService` to automatically remove orphaned SEO URLs for deleted entities
- NEW: Added console command `faq:cleanup-seo-urls` for manual cleanup of orphaned SEO URLs
- Enhanced error handling across all controller methods to prevent similar issues
- Improved user experience by showing proper 404 pages instead of critical errors
Technical Improvements
- Added proper exception handling with HTTP 404 responses for missing entities
- Implemented automated SEO URL cleanup mechanism
- Enhanced controller robustness with comprehensive null-checking
- Added new service layer for SEO URL management
Code Quality & Compliance
- Updated: Fixed code formatting with `shopware-cli extension format` for PSR-12 compliance
- Updated: Applied Shopware coding standards with `shopware-cli extension fix`
- Updated: Resolved all validation issues for Shopware Store compliance
- Updated: Corrected plugin metadata descriptions to meet length requirements (150-185 characters)
- Updated: Added missing translation keys for complete internationalization support
- Updated: Ensured all snippet files have consistent key coverage across languages
New Feature: FAQ pages can now be configured for specific sales channels.
Usage:
- Content → FAQ Manager → Pages
- Edit/create FAQ page
- "Sales channels" field (right column) → Select channels
- Save
⚠️ IMPORTANT: Without selection, FAQ page will NOT be displayed!
Guide: https://docs.fulltime-ecommerce.de/plugins-und-erweiterungen/shopware-6/faq-manager/sales-channel-auswahl-fur-faq-seiten-version-2.2.0+
- Code quality improvements and PSR-4 compliance
- Performance optimizations for JavaScript and SCSS
- Enhanced API implementations and error handling
- Optimized administration UI components
- Improved store compatibility and plugin descriptions
- Fixed missing translation keys
- Fixed FAQ visibility database structure
- Resolved duplicate entries in visibility table
- NEW FEATURE: Sales Channel Selection
- FAQ pages configurable for specific sales channels
- Multi-shop support
- View tracking system for FAQ items
- Shopware 6.7 compatibility
- Improved documentation
This update to the FAQ Manager plugin for Shopware 6.7 introduces significant improvements in compatibility, user interface, and code maintainability.
Key Changes:
- Shopware 6.7 Compatibility: Full adjustments to ensure compatibility with Shopware 6.7.
- UI Enhancements:
- Replaced sw-* components with mt-* equivalents for a more modern and consistent interface (e.g., in SEO forms and detail pages).
- Introduced sw-tabs for better organization of detail sections (General, Settings, SEO).
- Optimized search bar and list interactions.
- Updated Icons: Modernized module icons from default-object-graduate-cap to regular-graduation-cap.
- Code Cleanup: Removed unused code to improve maintainability.
response data for faq categories (store-api) optimized
Categories repository added
Store-api endpoint for FAQ categories added
- CMS element for FAQ categories and entries customized
- store-api endpoint added
- Category selection with page assignment extended
- Makes the selection of categories/articles in the CMS element optional
Removes unused language property
Indexer for Categories, Items and Pages fixed
- Added new twig blocks
- Added initial state for accordion
Search field has been adjusted
- Added a new shopping experience element for FAQ categories
Warnings of the static code analysis fixed
Association_fields field removed
- Storefront JS has been adjusted
Adjustments for Shopware 6.6
- Fixed collapse item on search page
- Added indexing settings
- Added option to insert faqs to the sitemap
Add title type to page, category and entry
App updated and refactored with Rector for Shopware 6.5 (https://github.com/FriendsOfShopware/shopware-rector/)
- Fix sorting of categories and entries
- Fix search url parameter
- Corrected search form setting
- In template 1 and template 2, the heading for categories has been adjusted from h2 to h1
Integration to Shopping Experiences
https://docs.fulltime-ecommerce.de/plugins-und-erweiterungen/shopware-6/faq-manager/fragen-in-eine-erlebniswelt-einbinden
- FUTI-FAQ-SW6-25: Fixes for sales channels
FUTI-FAQ-SW6-19: Maximum number of characters for meta title/description and SEO keywords defined
- FUTI-FAQ-SW6-20: Load images into their own folder
- FUTI-FAQ-SW6-21: Corrected sorting by categories within the entries
- FUTI-FAQ-SW6-22: Corrected sorting by pages within the categories
- FUTI-FAQ-SW6-23: Add translation within entries (category)
- FUTI-FAQ-SW6-24: Add translation within categories (page)
- FUTI-FAQ-SW6-17: Fix meta data
- FUTI-FAQ-SW6-18: Changed search url
- FUTI-FAQ-SW6-16: Fix mapping bug
- FUTI-FAQ-SW6-15: Fix mobil bug with long text in Questions
- FUTI-FAQ-SW6-14: Compatibility to Shopware 6.4.7.x established
- FUTI-FAQ-SW6-13: Change access to global Shopware object (SW-6.4.5.0)
- FUTI-FAQ-SW6-10: Correction of the installation routine (migration)
- FUTI-FAQ-SW6-11: Integrated search function
- FUTI-FAQ-SW6-12: Twig blocks have been added
- FUTI-FAQ-SW6-6: Compatibility to Shopware 6.4 established
- FUTI-FAQ-SW6-7: Plugin-Setting: Show author
- FUTI-FAQ-SW6-8: Plugin-Setting: Date formats
- FUTI-FAQ-SW6-9: Plugin-Setting: Show direct links to categories and questions
- FUTI-FAQ-SW6-3: HTML interpretation for page description
- FUTI-FAQ-SW6-4: FAQ page setting: First question opened
- FUTI-FAQ-SW6-5: Compatibility with Shopware 6.3 established
- FUTI-FAQ-SW6-1: Adding pictures to the FAQ entries
- FUTI-FAQ-SW6-2: Compatibility to Shopware 6.3 established
- Compatibility to Shopware 6.2 established
- Deprecated mapApiErrors, use mapPropertyErrors
- https://github.com/shopware/platform/blob/v6.2.0/UPGRADE-6.2.md#seo-urls
- Add column default for active in list
- FAQ pages, categories and questions removed from httpCache
First version for Shopware 6