irishdan/js-settings-bundle

将数据作为javascript注入到页面中的工具包

安装: 30

依赖者: 0

建议者: 0

安全: 0

星标: 1

关注者: 1

分支: 0

公开问题: 0

类型:symfony-bundle

v2.0 2018-06-23 08:29 UTC

This package is auto-updated.

Last update: 2024-09-08 10:58:07 UTC


README

此工具包提供了一种服务和twig扩展,以便将数据作为javascript对象轻松注入到网页中。

Build Status

1: 安装

使用composer安装。

composer require irishdan/js-settings-bundle

步骤2: 启用工具包

通过将工具包添加到项目中的app/AppKernel.php文件注册工具包列表中,启用工具包

<?php
// app/AppKernel.php

// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...
            new IrishDan\JsSettingsBundle\JsSettingsBundle(),
        );
        // ...
    }
    // ...
}

在您的config.yml文件导入中导入服务定义

    - { resource: "@JsSettingsBundle/Resources/config/services.yml" }

3: 配置

无需配置。部分配置可供使用。

在config.yml中,您可以添加

js_settings:
    object_name: 'JsData'
    defaults:
        local: "%locale%"
        page_data:
            site: 'www.example.com'

object_name: 默认情况下,javascript对象被命名为'Symfony'。您可以通过使用上述配置来更改它为'JsData'。

defaults: 默认值默认添加到javascript对象中,并且始终可用。

4: 使用方法

该工具包提供了一个单一的服务'js_settings.settings',用于向javascript对象中添加和删除数据。

要添加变量,简单传递键值对,如下所示

// The key can be a string...
$this->get('js_settings.settings')->addData('key', $values);

// The key can be an array...
$this->get('js_settings.settings')->addData(['first_key', 'second_key'], $values);

// The key can be index notation
$this->get('js_settings.settings')->addData('[first_key][second_key]', $values);

或者,使用pushData将数据推入数组。

$this->get('js_settings.settings')->pushData('[first_key][second_key]', $values);

要将javascript对象注入到页面中,只需将以下twig函数添加到您的twig模板中

{{ get_js_settings() }}