October cms,插件,在网络前端接受用户输入的表单
October cms, plugin, forms that accepts input from user in front-end of the web
我正在尝试为 october cms 创建插件,我很好奇,创建能够在前端接受用户输入并将其全部放入数据库的表单的最佳方法是什么?
首先你应该创建component。您可以将表单添加到 default.htm:
<form data-request="onTest" data-request-update="calcresult: '#result'">
<input type="text" name="value1">
<input type="text" name="value2">
<input type="submit" value="Calculate">
</form>
<div id="result"></div>
那么您应该将您的组件添加到 CMS Page。在组件的 php 文件中,您可以创建新函数:
public function onTest()
{
$value1 = post('value1');
$value2 = post('value2');
// insert you values to your model
$flight = new Flight;
$flight->value1 = $value1;
$flight->value2= $value2;
$flight->save();
// or directly to database
Db::table('users')->insert(
['value1' => $value1, 'value2' => $value2]
);
return TRUE;
}
您可以在官方文档中找到有关模型和查询以及 Ajax 的更多信息。
我正在尝试为 october cms 创建插件,我很好奇,创建能够在前端接受用户输入并将其全部放入数据库的表单的最佳方法是什么?
首先你应该创建component。您可以将表单添加到 default.htm:
<form data-request="onTest" data-request-update="calcresult: '#result'">
<input type="text" name="value1">
<input type="text" name="value2">
<input type="submit" value="Calculate">
</form>
<div id="result"></div>
那么您应该将您的组件添加到 CMS Page。在组件的 php 文件中,您可以创建新函数:
public function onTest()
{
$value1 = post('value1');
$value2 = post('value2');
// insert you values to your model
$flight = new Flight;
$flight->value1 = $value1;
$flight->value2= $value2;
$flight->save();
// or directly to database
Db::table('users')->insert(
['value1' => $value1, 'value2' => $value2]
);
return TRUE;
}
您可以在官方文档中找到有关模型和查询以及 Ajax 的更多信息。