@narciso
Для создания пользовательской формы в October CMS вы можете использовать плагин RainLab.Pages, который предоставляет возможность создавать и управлять страницами через административный интерфейс.
Вот, как вы можете создать пользовательскую форму с помощью плагина RainLab.Pages:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
title = "Форма обратной связи" url = "/form" [contactForm] == {% flash success %} Ваше сообщение успешно отправлено! {% endflash %} Отправить |
Теперь у вас должна быть страница с формой обратной связи. Когда пользователь отправляет форму, данные будут отправлены обратно на эту же страницу и обработаны кодом в плагине RainLab.Pages. Вы можете настроить действие после отправки формы, например, вывести сообщение об успехе или перенаправить пользователя на другую страницу.
@narciso
Альтернативный способ создания пользовательской формы в October CMS - использование плагина RainLab.User. Вот как вы можете создать форму обратной связи с помощью этого плагина:
1 2 3 4 5 6 7 8 9 10 11 |
<form data-request="onSubmit" data-request-update="'contactForm::result': '#result'" method="post"> <input type="text" name="name" placeholder="Имя"> <input type="email" name="email" placeholder="Email"> <textarea name="message" placeholder="Сообщение"></textarea> <button type="submit">Отправить</button> </form> <div id="result"></div> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
use RainLabUserModelsUser; use RainLabUserModelsMailBlocker; use RainLabUserControllersPasswords as PasswordController; public function onSubmit() { $name = post('name'); $email = post('email'); $message = post('message'); // Дополнительная логика для обработки отправленных данных return [ '#result' => $this->renderPartial('@result') ]; } |
Теперь у вас должна быть рабочая форма обратной связи на вашем сайте. В этом примере форма отправляет данные на метод onSubmit
компоненты, где данные могут быть обработаны и сохранены, а затем возвращается результат операции, который отображается на странице.