0

サイト全体で複数のフォームを処理するようにTYPO3BetterContact拡張機能を設定する方法はありますか?

デフォルトの設定例では、定義されたフォームを1つだけ表示できます。フォームの多くのインスタンスをページに追加し、フォームのhtmlテンプレートを変更できます(そこでは異なるフィールドを使用します)が、フォームで使用するタイプミスの構成ファイルを定義できるかどうか(またはどこで)はわかりません。

または、1つの構成ですべてのフィールド(たとえば、フィールドA、B、C、およびD)を定義し、各インスタンスで必要なフィールドのみを使用する必要があります(たとえば、インスタンス1ではAとB、インスタンス2ではCとD、1と2完全に異なる)?

私はtypo3の初心者なので、ちょっと盲目です...

4

1 に答える 1

0

1. 通常、対応するページに挿入されるプラグインの content 要素 ( Flexformsと呼ばれる) でいくつかのオプションを定義できます。それらのほとんどは「プラグインオプション」タブにあります。フレックスフォームのパラメーターは、セットアップのパラメーターをオーバーライドします。設定されていない場合は、デフォルト値が使用されます。

2. 別の方法として、異なる TypoScript セットアップを各ページのテンプレートに挿入することができます。子ページに拡張テンプレートを使用する場合、パラメーターはルートラインに沿って継承 (上書き) されます。したがって、デフォルトのテンプレートとは異なる値のみを変更する必要があります。

3. 3 番目のオプション: (ルート) セットアップで TypoScript 条件を使用できます。この例では、1 つのフォームがページ ID 1 に挿入され、別のフォームがページ ID 99 に挿入され、異なる HTML テンプレートと異なるフォーム検証が使用されます。このコードを使用する前に、Typoscriptの条件の概念を理解しておいてください。( [...]を使用してほとんどのセットアップ コードを省略しました)

[PIDinRootline = 1]
plugin.tx_spbettercontact_pi1 {

    formTemplate         = fileadmin/your-template-file01.html
    emailTemplate        = fileadmin/your-template-file01.html

    [...]

    fields {
        name {
            required     = 1
            minLength    = 3
            maxLength    = 70
            disallowed   = 0123456789<>(){}!?%&§$/+-\
        }

        [...]

    }
}
[PIDinRootline = 99]
plugin.tx_spbettercontact_pi1 {

    formTemplate         = fileadmin/your-template-file02.html
    emailTemplate        = fileadmin/your-template-file02.html

    [...]

    fields {
        name {
            required     = 0
            minLength    = 10
            maxLength    = 200
            disallowed   = <>(){}!?%&§$/+-\
        }

        [...]

    }
}
[GLOBAL]
于 2012-09-03T17:39:26.293 に答える