- 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
- 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
- FUTI-FAQ-SW6-1: Adding pictures to the FAQ entries
- FUTI-FAQ-SW6-2: Compatibility to Shopware 6.3 established
- Add column default for active in list
- FAQ pages, categories and questions removed from httpCache
First version for Shopware 6