raindrop/twigloader-bundle

Symfony Raindrop TwigLoaderBundle

v0.9.1 2013-03-17 17:35 UTC

This package is not auto-updated.

Last update: 2024-09-14 15:01:56 UTC


README

Build Status

此包为 Twig 模板添加数据库支持。它用 Twig_Loader_Chain 替换 Twig_Loader_FileSystem 并附加数据库和文件系统加载器。要从数据库加载,在渲染方法中使用 database: 语法。

安装:

首先将依赖项添加到您的 composer.json 文件中

"require": {
    ...
    "raindrop/twigloader-bundle": "dev-master"
},

然后使用以下命令安装包

php composer.phar update

在您的应用程序内核中启用包

<?php
// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...
        new Raindrop\TwigLoaderBundle\RaindropTwigLoaderBundle(),
    );
}

现在包已启用。

如果您的 AppKernel.php 中启用了 SonataAdmin 包,则还会激活 TwigTemplateAdmin 类。

配置:

这是默认配置,可以在 app/config/config.yml 中覆盖

doctrine:
  dbal:
    types:
      json: Sonata\Doctrine\Types\JsonType

raindrop_twig_loader:
    chain:
        replace_twig_loader: true
        loaders_by_id:
            raindrop_twig.loader.filesystem: 10
            raindrop_twig.loader.database: 20

此配置设置 twig 链加载器并附加上述指定的加载器。

用法:

从数据库加载模板

class myController {
	public function indexAction()
    {
		return $this->render('database:contact_us_en');
	}
}

数据库加载器将使用 ::getTemplate() 方法加载模板并将结果传递给控制器渲染方法。