Как создать пользовательскую форму (Form) в October CMS?

Пользователь

от narciso , в категории: PHP , год назад

Как создать пользовательскую форму (Form) в October CMS?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от vladimir , год назад

@narciso 

Для создания пользовательской формы в October CMS вы можете использовать плагин RainLab.Pages, который предоставляет возможность создавать и управлять страницами через административный интерфейс.


Вот, как вы можете создать пользовательскую форму с помощью плагина RainLab.Pages:

  1. Установите плагин RainLab.Pages через маркетплейс October CMS.
  2. Перейдите в раздел «Страницы» в административной панели October CMS и создайте новую страницу. Вы можете назвать ее, как вам удобно.
  3. Настройте настройки страницы, такие как URL, метаинформация и шаблон.
  4. Скопируйте и вставьте следующий код на странице в режиме редактирования:
 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 %}


    
        
    
    
        
    
    
        
    
    Отправить


  1. Сохраните страницу и опубликуйте ее на вашем сайте.


Теперь у вас должна быть страница с формой обратной связи. Когда пользователь отправляет форму, данные будут отправлены обратно на эту же страницу и обработаны кодом в плагине RainLab.Pages. Вы можете настроить действие после отправки формы, например, вывести сообщение об успехе или перенаправить пользователя на другую страницу.

Пользователь

от rachel , 5 месяцев назад

@narciso 

Альтернативный способ создания пользовательской формы в October CMS - использование плагина RainLab.User. Вот как вы можете создать форму обратной связи с помощью этого плагина:

  1. Установите плагин RainLab.User через маркетплейс October CMS.
  2. Создайте новую компоненту для формы обратной связи. Для этого перейдите на вкладку "Components" в административной панели October CMS и нажмите кнопку "New component". Задайте название компоненте, например, "ContactForm".
  3. В разделе "Markup" вставьте следующий код для создания формы:
 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. В разделе "Code" вставьте следующий код для обработки отправки формы:
 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')
    ];
}


  1. Сохраните компоненту и добавьте ее на нужную страницу через редактор страниц в административной панели October CMS.


Теперь у вас должна быть рабочая форма обратной связи на вашем сайте. В этом примере форма отправляет данные на метод onSubmit компоненты, где данные могут быть обработаны и сохранены, а затем возвращается результат операции, который отображается на странице.