mzur/kirby-uniform

一个通用的 Kirby 插件,用于处理网页表单动作。

支持包维护!
mzur
www.paypal.me/drmzur

安装次数: 41,649

依赖项: 8

建议者: 1

安全: 0

星标: 251

关注者: 13

分支: 40

开放问题: 6

类型:kirby-plugin

v5.6.1 2024-03-07 10:29 UTC

README

这是一个通用的 Kirby 插件,用于处理网页表单动作。

Documentation Status Tests Kirby >=3

这是 Uniform for Kirby >=3。您可以在 kirby-2 分支 中找到 Uniform for Kirby 2。

内置动作

  • Email:通过电子邮件发送表单数据。
  • EmailSelect:从多个收件人中选择以通过电子邮件发送表单数据。
  • Log:将表单数据记录到文件中。
  • Login:登录到 Kirby 前端。
  • SessionStore:将表单存储在用户的会话中。
  • Upload:处理文件上传。
  • Webhook:将表单数据作为 HTTP 请求发送到 webhook。

快速示例

控制器

<?php

use Uniform\Form;

return function ($kirby) {
   $form = new Form([
      'email' => [
         'rules' => ['required', 'email'],
         'message' => 'Email is required',
      ],
      'message' => [],
   ]);

   if ($kirby->request()->is('POST')) {
      $form->emailAction([
         'to' => 'me@example.com',
         'from' => 'info@example.com',
      ])->done();
   }

   return compact('form');
};

模板

<form action="<?php echo $page->url() ?>" method="POST">
   <input name="email" type="email" value="<?php echo $form->old('email'); ?>">
   <textarea name="message"><?php echo $form->old('message'); ?></textarea>
   <?php echo csrf_field(); ?>
   <?php echo honeypot_field(); ?>
   <input type="submit" value="Submit">
</form>
<?php if ($form->success()): ?>
   Success!
<?php else: ?>
   <?php snippet('uniform/errors', ['form' => $form]); ?>
<?php endif; ?>

安装

通过 Composer 安装 Uniform:composer require mzur/kirby-uniform

下载 存储库并将其解压缩到 site/plugins/uniform

设置

将其添加到您的 CSS 中

.uniform__potty {
    position: absolute;
    left: -9999px;
}

注意: 禁用 Kirby 缓存,以确保您使用 Uniform 的页面上的表单是动态生成的。

文档

有关完整文档,请访问 Read the Docs

问题

查看文档中的 答案,如果您认为它是错误,请 提交问题;如果您需要帮助,请 在论坛 中创建主题。

贡献

欢迎贡献!

捐赠

由于有些人坚持为这个(免费)插件汇钱,您可以 在这里 做这件事。