PHPackages                             symkit/faq-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. symkit/faq-bundle

ActiveSymfony-bundle[Utility &amp; Helpers](/categories/utility)

symkit/faq-bundle
=================

A flexible and modular FAQ (Frequently Asked Questions) management bundle for Symfony applications.

v0.0.2(2mo ago)160MITPHPPHP &gt;=8.2CI failing

Since Feb 22Pushed 2mo agoCompare

[ Source](https://github.com/SymKit/faq-bundle)[ Packagist](https://packagist.org/packages/symkit/faq-bundle)[ RSS](/packages/symkit-faq-bundle/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (14)Versions (3)Used By (0)

[![CI](https://github.com/symkit/faq-bundle/actions/workflows/ci.yml/badge.svg)](https://github.com/symkit/faq-bundle/actions)[![Latest Version](https://camo.githubusercontent.com/d2bff5540aec4f9cf6e4ad92caf2ace014d3663ad6bc0b3b324471b213feec1f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f73796d6b69742f6661712d62756e646c652e737667)](https://packagist.org/packages/symkit/faq-bundle)[![PHPStan Level 9](https://camo.githubusercontent.com/1bc07920f0d36e55c17e1d38b1caa132cc605f51a82b388c962870b9a747b898/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048505374616e2d6c6576656c253230392d627269676874677265656e2e737667)](https://phpstan.org/)

FAQ Bundle
==========

[](#faq-bundle)

A flexible and modular FAQ (Frequently Asked Questions) management bundle for Symfony applications. It provides a configurable administration interface (CRUD), public rendering with Stimulus accordion, and automatic position management for FAQ items.

Requirements
------------

[](#requirements)

- PHP 8.2+
- Symfony 7.0 or 8.0
- Doctrine ORM
- [symkit/form-bundle](https://packagist.org/packages/symkit/form-bundle)
- [symkit/crud-bundle](https://packagist.org/packages/symkit/crud-bundle)

Installation
------------

[](#installation)

### 1. Require via Composer

[](#1-require-via-composer)

```
composer require symkit/faq-bundle
```

### 2. Enable the bundle

[](#2-enable-the-bundle)

Register the bundle in `config/bundles.php`:

```
return [
    // ...
    Symkit\FaqBundle\SymkitFaqBundle::class => ['all' => true],
];
```

### 3. Update database schema

[](#3-update-database-schema)

```
php bin/console doctrine:migrations:diff
php bin/console doctrine:migrations:migrate
```

Configuration
-------------

[](#configuration)

All features can be enabled or disabled via the bundle configuration. Create or edit `config/packages/symkit_faq.yaml`:

```
symkit_faq:
    enabled: true

    admin:
        enabled: true
        route_prefix: /admin

    public:
        enabled: true
        route_prefix: /faq

    entity:
        # Override with your own classes if you extend the default entities
        faq_class: Symkit\FaqBundle\Entity\Faq
        faq_repository_class: Symkit\FaqBundle\Repository\FaqRepository
        faq_item_class: Symkit\FaqBundle\Entity\FaqItem
        faq_item_repository_class: Symkit\FaqBundle\Repository\FaqItemRepository

    doctrine:
        enabled: true

    twig:
        enabled: true

    asset_mapper:
        enabled: true
```

If you use custom entity or repository classes (e.g. extending the defaults), configure them here and ensure your Doctrine mapping covers the same tables or your overrides.

Routes
------

[](#routes)

Import the bundle routes in your application `config/routes.yaml`.

**Configurable prefixes** (recommended; uses `admin.route_prefix` and `public.route_prefix` from config):

```
symkit_faq:
    resource: 'symkit_faq.route_loader::loadRoutes'
    type: service
```

**Fixed paths** (`/admin`, `/faq`):

```
symkit_faq:
    resource: '@SymkitFaqBundle/config/routes.yaml'
```

This registers:

- **Admin**: `/admin/faqs` (list, create, edit, delete), `/admin/faqs/{faqId}/items/create`, `/admin/faq-items/{id}/edit`, `/admin/faq-items/{id}/delete`
- **Public**: `/faq/{code}` (show FAQ by code)

You can wrap the import with a custom `prefix` if you need to change the URL prefix.

Translations
------------

[](#translations)

The bundle provides XLIFF translations in `SymkitFaqBundle` (and `validators` for constraint messages) in **English** and **French**. Translations are auto-discovered from the bundle `translations/` directory.

To override or add locales, place your files in your app’s `translations/` directory with the same domain names (`SymkitFaqBundle.*.xlf`, `validators.*.xlf`).

Usage
-----

[](#usage)

### Displaying a FAQ in Twig

[](#displaying-a-faq-in-twig)

Render a FAQ block by code (e.g. from a controller that loaded the entity):

```
{{ include('@SymkitFaq/faq/components/_faq.html.twig', {
    faq: faq_entity
}) }}
```

### Admin interface

[](#admin-interface)

The admin CRUD is available at `/admin/faqs` (or your configured prefix). It uses [symkit/crud-bundle](https://packagist.org/packages/symkit/crud-bundle) for lists, forms, and actions.

### Customizing templates

[](#customizing-templates)

Override bundle templates under your project:

```
templates/bundles/SymkitFaqBundle/faq/

```

Copy the relevant Twig files from `vendor/symkit/faq-bundle/templates/faq/` and edit them.

### Assets and Stimulus

[](#assets-and-stimulus)

The bundle registers its Stimulus controller via AssetMapper. Ensure your app uses AssetMapper and that the `faq` controller is loaded (e.g. in your `importmap.php` and Stimulus app registration). The accordion uses `data-controller="faq"` and `data-action="faq#toggle"`.

Components
----------

[](#components)

- **Entities**: `Faq` (group of questions), `FaqItem` (question/answer with position).
- **Stimulus**: `faq` controller for accordion toggle behaviour.

Dependencies
------------

[](#dependencies)

- [doctrine/doctrine-bundle](https://packagist.org/packages/doctrine/doctrine-bundle) — ORM integration
- [doctrine/orm](https://packagist.org/packages/doctrine/orm) — Entity persistence
- [symfony/validator](https://packagist.org/packages/symfony/validator) — Validation
- [symkit/form-bundle](https://packagist.org/packages/symkit/form-bundle) — FormSectionType, SlugType, form theme
- [symkit/crud-bundle](https://packagist.org/packages/symkit/crud-bundle) — CRUD and list UI

License
-------

[](#license)

MIT.

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance83

Actively maintained with recent releases

Popularity10

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity37

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

85d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/077eba6702dc23a795ee2262dff92505e3c8ead08f7cb205be80d8aae0a6b8e5?d=identicon)[sdieunidou](/maintainers/sdieunidou)

---

Top Contributors

[![sdieunidou](https://avatars.githubusercontent.com/u/570763?v=4)](https://github.com/sdieunidou "sdieunidou (5 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/symkit-faq-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/symkit-faq-bundle/health.svg)](https://phpackages.com/packages/symkit-faq-bundle)
```

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)[contao/core-bundle

Contao Open Source CMS

1231.6M2.4k](/packages/contao-core-bundle)[netgen/layouts-core

Netgen Layouts enables you to build and manage complex web pages in a simpler way and with less coding. This is the core of Netgen Layouts, its heart and soul.

3689.4k10](/packages/netgen-layouts-core)[leapt/core-bundle

Symfony LeaptCoreBundle

2529.1k4](/packages/leapt-core-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
