wdmg/yii2-forms

用户表单的创建和管理

安装: 504

依赖关系: 1

建议者: 0

安全性: 0

星标: 4

关注者: 5

分支: 2

开放问题: 0

类型:yii2-extension

1.2.0 2023-07-06 11:11 UTC

This package is auto-updated.

Last update: 2024-09-06 13:29:58 UTC


README

Yii2 Downloads Packagist Version Progress GitHub license

Yii2 Composite Forms

Yii2 Forms

为Yii2创建和管理的复合表单模块。它还记录和管理网站上填写表单的结果。它在前端有自己的组件用于构建和显示表单。支持多语言字段和描述。

此模块是Butterfly.СMS内容管理系统的组成部分,但也可以作为一个独立的扩展使用。

版权所有 (c) 2019-2021 W.D.M.Group, Ukraine

需求

  • PHP 5.6 或更高版本
  • Yii2 v.2.0.40 及以上版本
  • Yii2 Base 模块(必需)

安装

要安装模块,请在控制台中运行以下命令

$ composer require "wdmg/yii2-forms"

配置数据库连接后,请在控制台中运行以下命令

$ php yii forms/init

然后选择要执行的操作

  1. 应用所有模块迁移
  2. 回滚所有模块迁移
  3. 添加演示数据

迁移

在任何情况下,您都可以在控制台中运行以下命令来执行迁移和创建初始数据

$ php yii migrate --migrationPath=@vendor/wdmg/yii2-forms/migrations

配置

要将模块添加到项目中,请在配置文件中添加以下数据

'modules' => [
    ...
    'forms' => [
        'class' => 'wdmg\forms\Module',
        'routePrefix' => 'admin'
    ],
    ...
],

用法示例

要构建具有字段的 ActiveForm,可以使用组件方法 Yii::$app->forms->build(),并使用表单项的 idalias

前端查看

<?php
    use yii\widgets\ActiveForm;
    ...
?>
    
<h3>Feedback</h3>
<?php $form = ActiveForm::begin(); ?>
<?= Yii::$app->forms->build($form, 'feedback-form'); ?>
<?= Html::submitButton('Submit') ?>
<?php ActiveForm::end(); ?>
...

<h3>Callback</h3>
<?php $form = ActiveForm::begin(); ?>
<?= Yii::$app->forms->build($form, 'сallback-form'); ?>
<?= Html::submitButton('Submit') ?>
<?php ActiveForm::end(); ?>

控制器中的操作

<?php
    if (!is_null($result = Yii::$app->forms->submit('feedback-form', $data))) {
        if ($result === true) {
            Yii::$app->session->setFlash('success', 'Your Feedback form successfully submitted!');
        } else {
            Yii::$app->session->setFlash('danger', 'An error occurred while sending the Feedback form.');
        }
    }
?>

路由

使用模块的 Module::dashboardNavItems() 方法生成导航项列表,例如用于 NavBar

<?php
    echo Nav::widget([
    'options' => ['class' => 'navbar-nav navbar-right'],
        'label' => 'Modules',
        'items' => [
            Yii::$app->getModule('forms')->dashboardNavItems(),
            ...
        ]
    ]);
?>

状态和版本[可用]

  • v.1.2.0 - 更新版权信息,修复仪表板菜单
  • v.1.1.2 - RBAC 实现
  • v.1.1.1 - 更新 README.md 和修复 setAttributeLabels()