alengo / alengo-form-bundle
表单组件
1.4.3
2024-07-27 08:05 UTC
Requires
- php: ^8.1
- sulu/sulu: ^2.5
- symfony/config: ^6.0 || ^7.0
- symfony/dependency-injection: ^6.0 || ^7.0
- symfony/framework-bundle: ^6.0 || ^7.0
- symfony/http-foundation: ^6.0 || ^7.0
- symfony/http-kernel: ^6.0 || ^7.0
- symfony/mailer: ^6.0 || ^7.0
- symfony/serializer: ^6.0 || ^7.0
- symfony/twig-bundle: ^6.0 || ^7.0
Requires (Dev)
- handcraftedinthealps/zendsearch: ^2.0
- jackalope/jackalope-doctrine-dbal: ^1.3.4 || ^2.0
- php-cs-fixer/shim: ^3.9
- phpstan/extension-installer: ^1.2
- phpstan/phpstan: ^1.9
- phpstan/phpstan-doctrine: ^1.3
- phpstan/phpstan-symfony: ^1.2
- phpunit/phpunit: ^8.5 || ^9.5
- rector/rector: ^1.0.3
- sulu/sulu-rector: ^1.0.0
- symfony/browser-kit: ^6.0 || ^7.0
- symfony/console: ^6.0 || ^7.0
- symfony/dotenv: ^6.0 || ^7.0
- symfony/error-handler: ^6.0 || ^7.0
- symfony/monolog-bundle: ^3.1
This package is auto-updated.
Last update: 2024-09-27 08:30:41 UTC
README
需求
- PHP 8.0
- Symfony >=6.0
- Symfonymailer
安装组件
执行以下 composer 命令
composer require alengo/alengo-form-bundle
启用组件
通过将组件添加到项目 config/bundles.php
文件中注册的组件列表中来启用组件
return [ /* ... */ Alengo\Bundle\AlengoFormBundle\AlengoFormBundle::class => ['all' => true], ];
bin/console do:sch:up --force
配置组件
在您的 routes_admin.yaml 中设置以下配置
app_form_data_api: type: rest prefix: /admin/api resource: Alengo\Bundle\AlengoFormBundle\Controller\Admin\FormDataController name_prefix: app.
在ENV配置中定义默认的发件人电子邮件。
DEFAULT_SENDER_MAIL=test@test.de
DEFAULT_SENDER_NAME=Mustermann
使用组件
您可以使用以下两个接口来保存表单并发送电子邮件:
Alengo\Bundle\AlengoFormBundle\Service\SaveFormInterface
public function saveFormDataFromRequest(array $data, string $webspace, string $location, string $category, string $receiverMail = NULL, bool $copy = false): FormData;
Alengo\Bundle\AlengoFormBundle\Service\SendFormInterface
public function sendFormDataAsMail(FormData $formData, string $template, string $title, string $receiverMail,string $senderMail,$xmlTemplate = false);
示例
简单的示例,该示例会将副本发送给填写表单的人员及其收件邮箱
$formData = $this->saveForm->saveFormDataFromRequest($request->request->all(),$request->get('_sulu')->getAttribute('webspace')->getKey(),$request->getLocale(),'contact',NULL,true); $this->sendForm->sendFormDataAsMail($formData,'hello/email.txt.twig','Welcome Mail','receiver@mail.de');