vxm/yii2-js-params

Support passed variables to javascript.

1.0.0 2019-04-21 05:31 UTC

This package is auto-updated.

Last update: 2024-10-21 21:02:04 UTC


README

Latest Stable Version Total Downloads Build Status Code Coverage Scrutinizer Code Quality Yii2

About it

An extension provide an easy way to passed variables from your server to the JavaScript in rendering process of Yii2 view component.

Requirements

Installation

Require Yii2 JS Prams using Composer:

composer require vxm/yii2-js-params

Usage

You can passed any variables you want when render view with addition jsParams element in view params:

use yii\web\Controller;

class TestController extends Controller
{

    public function actionTest()
    {
        return $this->render('test', [
            'jsParams' => [
                'test' => 'vxm'
            ]
        ]);
    }
}

And get this data on the frontend side from window.serverParams:

Note: all variables will passed at View::POS_HEAD please make sure a definition ($this->head()) on your layout file.

Global params

Sometime you need to passed some params to all of view file, you can config it in your app config file:

'components' => [
    'view' => [
        'params' => [
            'jsParams' => ['test' => 'vxm']
        ]
    ]
]

Or config an anonymous function:

'components' => [
    'view' => [
        'params' => [
            'jsParams' => function() {
            
                return ['identity' => Yii::$app->user->identity->toArray()]
            }
        ]
    ]
]

Now use it on client side:

<script>

    console.log(window.serverParams.identity);

</script>