hn/formsave

以可用状态保存 ext:form 的数据

安装次数: 3,763

依赖关系: 0

建议者: 0

安全: 0

类型:typo3-cms-extension

v1.6.3 2020-03-09 09:10 UTC

README

Latest Stable Version Total Downloads Monthly Downloads License

此扩展允许轻松从表单数据创建领域模型。

基本用法

  • 使用 composer require hn/formsave 安装
  • 创建一个表单并添加 Formsave finisher,选择通用作为意图
  • 可选地为每个字段添加标识符

高级用法

您可以添加自己的意图,这也会创建自己的领域对象。让我们以一个“应用程序”的例子来展示。

创建领域模型类 Vendor\Extension\Domain\Model\Application

<?php

namespace Vendor\Extension\Domain\Model;

use Hn\Formsave\Domain\Model\Document;

class Application extends Document
{

}

实现 extbase 继承

使用 ext_typoscript_setup.txt 实现。

config.tx_extbase.persistence.classes {
    Hn\Formsave\Domain\Model\Document {
        subclasses {
            Vendor\Extension\Domain\Model\Application = Vendor\Extension\Domain\Model\Application
        }
    }

    Vendor\Extension\Domain\Model\Application {
        mapping {
            recordType = Vendor\Extension\Domain\Model\Application
            tableName = tx_formsave_domain_model_document
        }
    }
}

扩展表单编辑器和 TCA 中的选择字段

// Configuration/TCA/Overrides/tx_formsave_domain_model_document.php

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem('tx_formsave_domain_model_document', 'type', [
    'Application',
    \Vendor\Extension\Domain\Model\Application::class,
]);
# Configuration/Form/FormEngineSetup.yaml

TYPO3:
  CMS:
    Form:
      prototypes:
        standard:
          formElementsDefinition:
            Form:
              formEditor:
                propertyCollections:
                  finishers:
                    1531314970:
                      editors:
                        110:
                          selectOptions:
                            1531319170:
                              value: 'Vendor\Extension\Domain\Model\Application'
                              label: 'Application'

为您的表单数据添加行为

查看 Hn\Formsave\Domain\Finisher\FormsaveFinisher。有几个信号可以改变行为。一个例子是在用户申请时发送电子邮件。