alengo/alengo-form-bundle

表单组件

安装次数: 1,706

依赖者: 0

建议者: 0

安全: 0

星标: 2

关注者: 2

分支: 0

公开问题: 0

类型:sulu-bundle

1.4.3 2024-07-27 08:05 UTC

README

GitHub license GitHub tag (latest SemVer) Sulu compatibility

需求

  • 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');