Форми¶
Форми в 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">
Примітка
Дія за замовчуванням: Надіслати електронного листа, але відповідно до додатків, встановлених на базі даних, можна знайти інші варіанти, такі як Подати заявку на роботу, створити клієнта, створити квиток, створити можливість тощо.
Зверніть увагу, що деякі з цих дій можуть потребувати певних обов’язкових полів для того, щоб бути функціональними. Щоб не забути деякі вимоги, ми наполегливо рекомендуємо попередньо створити фрагмент форми за допомогою Конструктора сайтів і скопіювати/вставити згенерований вихідний код.
Успіх¶
Визначте, що відбувається після відправлення форми завдяки атрибуту 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>