资产过滤器和实体管理器

时间:2014-01-23 15:10:16

标签: symfony assetic

我一直在寻找答案,但我找不到答案。

如何使用assetic从数据库加载数据?

使用此过滤器

<?php

namespace project\bundle\mybundle\Assetic;

use Assetic\Asset\AssetInterface;
use Assetic\Filter\FilterInterface;

use Symfony\Component\DependencyInjection\Container;
use Doctrine\ORM\EntityManager;

class CssFilter implements FilterInterface
{
protected $entityManager;
protected $container;

public function __construct(EntityManager $entityManager, Container $container)
{
    $this->entityManager   = $entityManager;
    $this->container       = $container;
}

public function filterLoad(AssetInterface $asset)
{

}


public function filterDump(AssetInterface $asset)
{
     $content   = $asset->getContent();

    $themeId   = 3;
    $theme     = $this->entityManager->getRepository('projectBundle:Theme')->find($themeId);
    $css       = $theme->getCss();

    $asset->setContent($css);

}

}

我能够从数据库加载css但只能按时加载,每次我重新加载我的css时都会使用预编译版本。

我如何让资产在每个页面加载时使用转储或加载功能?

我一直在寻找我找不到任何答案

1 个答案:

答案 0 :(得分:0)

也许使用style代码而不是包含文件

<style>
    /* import styles from db */
</style>

并使用页面缓存。