フォーム

Odooのフォームは非常に強力です. それらは、直接他のアプリケーションと統合されており、多くの異なる目的のために使用することができます.

この章では、次の方法について説明します。

  • カスタムテーマにフォームを追加します。

  • フォームのアクションを変更します。

  • Bootstrap変数のおかげでフォームをスタイル化します。

デフォルトフォーム

ページにフォームを追加するには、ページ内にウェブサイトビルダーによって生成されたコードをコピーして貼り付けます。

それは次のようになるはずです。

<form
   action="/website/form/" method="post"
   enctype="multipart/form-data"
   class="o_mark_required"
   data-mark="*" data-pre-fill="true"
   data-success-mode="redirect"
   data-success-page="/contactus-thank-you"
   data-model_name="mail.mail">
     <div class="s_website_form_rows row s_col_no_bgcolor">
          <div class="form-group s_website_form_field col-12 s_website_form_dnone" data-name="Field">
               <!-- Form fields -->
           </div>
     </div>
</form>

アクション

フォームタグに data-model_name があります。フォームに異なるアクションを定義することができます。

メールを送信します。(このアクションはデフォルトで使用されます)。

<form data-model_name="mail.mail">

仕事に応募します。

<form data-model_name="hr.applicant">

顧客を作成する

<form data-model_name="res.partner">

伝票を作成

<form data-model_name="helpdesk.ticket">

機会を作成します。

<form data-model_name="crm.lead">

タスクの作成

<form data-model_name="project.task">

注釈

デフォルトのアクションは メールを送信する ですが、データベースにインストールされているアプリに従っています その他のオプションを見つけることができます: 仕事に応募したり、顧客を作成したり、チケットを作成したり、商談を作成したりするなど。

これらのアクションの一部は、機能するために特定の必須項目が必要になる場合がありますのでご注意ください。 いくつかの要件を忘れないように、Website Builderでフォームスニペットをプリセットし、生成されたソースコードをコピー/ペーストすることを強くお勧めします。

成功

data-success-mode 属性のおかげでフォームが送信されるとどうなるか定義します。

data-success-page で定義されたページにユーザーをリダイレクトします。

<form data-success-mode="redirect" data-success-page="/contactus-thank-you">

メッセージを表示 (同じページ)

<form data-success-mode="message">

フォームタグの下にサクセスメッセージを直接追加します。 フォームが送信されていない場合、成功メッセージが隠されていることを確認するために、常に d-none クラスを追加します。

<div class="s_website_form_end_message d-none">
     <div class="oe_structure">
          <section class="s_text_block pt64 pb64" data-snippet="s_text_block">
               <div class="container">
                     <h2 class="text-center">This is a success!</h2>
               </div>
          </section>
     </div>
</div>