nowo-tech/contact-form-bundle
Composer 安装命令:
composer require nowo-tech/contact-form-bundle
包简介
Symfony bundle for configurable multilingual contact forms with GDPR compliance, customizable fields, client association, and admin CRUD.
README 文档
README
⭐ Found this useful? Install from Packagist · Give it a star on GitHub so more developers can find it.
Contact Form Bundle — configurable multilingual contact forms with GDPR consent, customizable fields (email, phone, text, textarea, select), optional client association, anonymous submissions, and admin CRUD. For Symfony 7.4+ and 8 · PHP 8.2+.
Features
- ✅ Admin CRUD for form definitions, customizable fields, and submissions
- ✅ Multilingual copy via translation entities (title, labels, GDPR text, success message)
- ✅ Customizable fields: text, email, phone, textarea, select (options per field)
- ✅ GDPR: required consent checkbox, privacy policy link, IP anonymization, retention days
- ✅ Client association: optional link to an existing host client entity or anonymous submissions
- ✅ Public form at
/contact/{slug}with PRG flow and flash success message - ✅ Override Twig templates and translations from your application
- ✅ Pluggable notifications (custom notifier, Symfony Mailer, or
ContactSubmissionCreatedEvent) - ✅ GDPR retention cleanup via
nowo:contact-form:cleanup-submissions
Installation
composer require nowo-tech/contact-form-bundle
Register in config/bundles.php if Flex recipe is not applied:
Nowo\ContactFormBundle\NowoContactFormBundle::class => ['all' => true],
Import routes in config/routes.yaml:
nowo_contact_form: resource: '@NowoContactFormBundle/Resources/config/routes.yaml'
Run Doctrine migrations after mapping entities (bundle registers ORM mappings automatically).
Documentation
- Installation
- Configuration
- Usage
- Contributing
- Changelog
- Upgrading
- Release
- Security
- Engram
- Spec-driven development
- GitHub Spec Kit
Additional documentation
- Demo FrankenPHP (when using FrankenPHP demos)
Requirements
- PHP 8.2+
- Symfony 7.4+ or 8.0+
- Doctrine ORM 2.17+ or 3.x
Demo
make -C demo/symfony8 up
Default URL: http://localhost:8021 (see demo .env.example for PORT).
FrankenPHP worker mode: demos ship with worker-enabled Caddyfile for production-style runs; development uses Caddyfile.dev without workers. See docs/DEMO-FRANKENPHP.md.
Development
make up
make test
make qa
make release-check
Tests and coverage
| Language | Coverage |
|---|---|
| PHP | 99.78% line coverage (run make test-coverage to refresh) |
| TS/JS | N/A |
| Python | N/A |
License & author
MIT · Nowo.tech · Héctor Franco Aceituno
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-07-13