فرمها¶
فرمها در Odoo بسیار قدرتمند هستند. آنها مستقیماً با سایر اپلیکیشنها یکپارچه شدهاند و میتوانند برای اهداف بسیار متنوعی استفاده شوند.
در این فصل خواهید آموخت چگونه:
یک فرم را در قالب سفارشی خود اضافه کنید.
اکشن فرم را تغییر دهید.
فرم را به لطف متغیرهای Bootstrap استایل دهید.
فرم پیشفرض¶
برای افزودن یک فرم به یک صفحه، کد تولیدشده توسط ابزار ساخت وبسایت را در صفحه کپی و paste کنید.
باید چیزی شبیه به موارد زیر باشد.
<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">
توجه
اکشن پیشفرض Send an E-mail است اما بسته به اپلیکیشنهای نصبشده روی پایگاهداده، برخی گزینههای دیگر یافت میشوند، مانند: درخواست برای شغل، ایجاد مشتری، ایجاد تیکت، ایجاد فرصت و غیره.
لطفاً توجه داشته باشید که برخی از این اکشنها ممکن است برای کارکرد به فیلدهای الزامی خاصی نیاز داشته باشند. برای فراموش نکردن برخی الزامات، بهشدت توصیه میکنیم snippet فرم را با ابزار ساخت وبسایت پیشتنظیم کنید و کد منبع تولیدشده را copy/paste کنید.
موفقیت¶
به لطف ویژگی data-success-mode، تعریف کنید پس از submit شدن فرم چه اتفاقی میافتد.
کاربر را به صفحهای که در data-success-page تعریف شده است، redirect کنید.
<form data-success-mode="redirect" data-success-page="/contactus-thank-you">
یک پیام را (در همان صفحه) نمایش دهید.
<form data-success-mode="message">
یک پیام موفقیت را مستقیماً زیر تگ فرم اضافه کنید. همیشه کلاس d-none را اضافه کنید تا مطمئن شوید پیام موفقیت اگر فرم submit نشده باشد، پنهان است.
<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>