承接 alexgivi/yii2-require-modal 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

alexgivi/yii2-require-modal

Composer 安装命令:

composer require alexgivi/yii2-require-modal

包简介

Yii2 links with form in modal dialog, opening on click.

README 文档

README

Widget for add form in modal dialog to links.

Readme на русском:

Install

Preferrable way - via composer.

Execute

php composer.phar require --prefer-dist alexgivi/yii2-require-modal "*"

or add

"alexgivi/yii2-require-modal": "*"

to require section of composer.json file.

Usage

Widget for link with form:

<?= \alexgivi\requireModal\RequireLink::widget([
    'text' => 'Complete form'
    'url' => ['test-controller/test-require'],
    'requireFormItems' => \alexgivi\requireModal\RequireHelper::compose()
         ->addDateField('date', 'Date', date('d.m.Y'))
         ->addNumberField('number', 'Number')
         ->addTextField('text', 'Text')
         ->addTextArea('textarea', 'Big Text')
         ->addDropDownList('selected', 'List', SomeClass::$someData)
]); ?>

In controller:

class TestController extends yii\web\Controller
{
    public function actionTestRequire()
    {
        $date = Yii::$app->request->post('date');
        $number = Yii::$app->request->post('number');
        $text = Yii::$app->request->post('text');
        // ...
    }
}

Usage with models

Component can be used to implement model create / update forms in modal.

Widget for link with form:

/**
 * @var $model SomeModel
 */

 ...

<?= \alexgivi\requireModal\RequireLink::widget([
    'text' => 'Update'
    'url' => ['some-model/update', 'id' => $model->id],
    'requireFormItems' => \alexgivi\requireModal\RequireHelper::compose()
         ->addActiveDateField($model, 'date_attribute',)
         ->addNumberField($model, 'number_field')
         ->addTextField($model, 'name')
         ->addTextArea($model, 'description')
         ->addDropDownList($model, 'type', SomeModel::$typeNames)
         ->addHiddenField('redirect', Yii::$app->request->url)
]); ?>

In controller:

class SomeModelController extends yii\web\Controller
{
    public function actionUpdate($id)
    {
        $model = $this->loadModel($id);

        if ($model->load($_POST) && $model->save()) {
            return $this->redirect(isset($_POST['redirect']) ?
                $_POST['redirect'] : ['view', 'id' => $model->id]);
        }

        return $this->render('update', ['model' => $model]);
    }
}

For create new model:

/**
 * @var $model SomeModel
 */

<?php $model = new SomeModel(); ?>
<?= \alexgivi\requireModal\RequireLink::widget([
    'text' => 'Create'
    'url' => ['some-model/create', 'id' => $model->id],
    'requireFormItems' => \alexgivi\requireModal\RequireHelper::compose()
         ->addActiveDateField($model, 'date_attribute',)
         ->addNumberField($model, 'number_field')
         ->addTextField($model, 'name')
         ->addTextArea($model, 'description')
         ->addDropDownList($model, 'type', SomeModel::$typeNames)
         ->addHiddenField('redirect', Yii::$app->request->url)
]); ?>

In controller:

class SomeModelController extends yii\web\Controller
{
    public function actionCreate()
    {
        $model = new SomeModel();

        if ($model->load($_POST) && $model->save()) {
            return $this->redirect(isset($_POST['redirect']) ?
                $_POST['redirect'] : ['view', 'id' => $model->id]);
        }

        return $this->render('create', ['model' => $model]);
    }
}

统计信息

  • 总下载量: 297
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-07-13

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固