itstructure/yii2-field-widgets

The form field widgets for Yii2 Framework with multilanguage mode support.

Installs: 1 141

Dependents: 3

Suggesters: 0

Security: 0

Stars: 2

Watchers: 1

Forks: 1

Open Issues: 0

Type:yii2-extension

1.2.4 2023-01-29 04:18 UTC

This package is auto-updated.

Last update: 2024-02-29 03:24:13 UTC


README

Introduction

Latest Stable Version Latest Unstable Version License Total Downloads Build Status Scrutinizer Code Quality

This is form field's widgets for the yii2 framework with the next field types:

  • text
  • textarea
  • ckeditor
  • ckeditorAdmin
  • file
  • checkbox
  • dropdown
  • password

Dependencies

  • php >= 7.1
  • composer

Installation

Base install

Via composer:

composer require "itstructure/yii2-field-widgets": "~1.2.4"

or in section require of composer.json file set the following:

"require": {
    "itstructure/yii2-field-widgets": "~1.2.4"
}

and command composer install, if you install yii2 project extensions first,

or command composer update, if all yii2 project extensions are already installed.

If you are testing this package from local server directory

In application composer.json file set the repository, like in example:

"repositories": [
    {
        "type": "path",
        "url": "../yii2-field-widgets",
        "options": {
            "symlink": true
        }
    }
],

Here,

yii2-field-widgets - directory name, which has the same directory level like application and contains yii2 field widgets package.

Then run command:

composer require itstructure/yii2-field-widgets:dev-master --prefer-source

Usage

Requirements

That widgets are designed to work in form with an active model, which is inherited from yii\db\ActiveRecord.

Single mode

To use this mode, don't set languageModel. That will be null.

Multilanguage mode

All fields will be with a language postfix:

title_en

description_en

title_ru

description_ru, e t. c.

For this mode it's necessary to have Language model with some of languages records.

Example:

$form = ActiveForm::begin();
echo Fields::widget([
    'fields' => [
        [
            'name' => 'title',
            'type' => FieldType::FIELD_TYPE_TEXT,
        ],
        [
            'name' => 'description',
            'type' => FieldType::FIELD_TYPE_CKEDITOR_ADMIN,
            'preset' => 'full',
            'options' => [
                'filebrowserBrowseUrl' => '/ckfinder/ckfinder.html',
                'filebrowserImageBrowseUrl' => '/ckfinder/ckfinder.html?type=Images',
                'filebrowserUploadUrl' => '/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files',
                'filebrowserImageUploadUrl' => '/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images',
                'filebrowserWindowWidth' => '1000',
                'filebrowserWindowHeight' => '700',
            ]
        ],
    ],
    'model'         => $model,
    'form'          => $form,
    'languageModel' => new Language()
]) ?>
echo Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
ActiveForm::end();

License

Copyright © 2018-2023 Andrey Girnik girnikandrey@gmail.com.

Licensed under the MIT license. See LICENSE.txt for details.