我的表格:
<form id="main-contact-form" name="contact-form" ata-request="onSend" data-request-success="alert('Message Sent')">
我似乎无法获得要发布的表格;我在哪里放置这个文件?我要编辑哪个文件才能将表单数据字段发送到我的电子邮件?我已经设置了后端邮件设置:
function onSend()
{
// Collect input
$name = post('name');
$email = post('email');
$message = post('message');
// Submit form
$to = System\Models\MailSettings::get('sender_email');
$params = compact('name','email');
Mail::sendTo($to, 'temp.website::mail.newrequest', $params);
return true;
}
最佳答案
请引用文档:Plugin Components .
你可以创建一个组件(SomeForm.php
)
<?php namespace My\Plugin\Components;
use Cms\Classes\ComponentBase;
class SomeForm extends ComponentBase
{
public function componentDetails()
{
return [
'name' => 'Form',
'description' => 'Some form'
];
}
public function onSend()
{
// Collect input
$name = post('name');
$email = post('email');
$message = post('message');
// Submit form
$to = System\Models\MailSettings::get('sender_email');
$params = compact('name','email');
Mail::sendTo($to, 'temp.website::mail.newrequest', $params);
return true;
}
}
然后为它创建一个 View (例如default.htm
)
<form id="main-contact-form" name="contact-form" data-request="{{ __SELF__ }}::onSend" data-request-success="alert('Message Sent')">
...
</form>
在页面/布局中的使用:
[someForm]
==
{% component "someForm" %}
关于php - OctoberCMS 发布表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29409963/