Symfony2图像或额外的文件夹问题

时间:2013-10-21 10:06:41

标签: symfony composer-php assetic

我正在使用symfony 2,composer和sass框架

我在MYBundle / Resources / public /

下有额外的名为files /和images /的文件夹

某些原因,当我运行命令时,此文件或图像文件夹未在web / ..下创建:

  

php app / console assets:install

但是他们确实在web / bundles / mybundle / files下创建..

与images文件夹相同:web / bundles / mybundle / images ..

我只有这些文件夹..在网页下..

web/ 
  bundles/
  css/ 
  js/

如何获取web下的其他两个文件夹/图像和文件夹......

像这样......

web/ 

 bundles/ 
 images/ 
 css/ 
 js/ 
 files/

因为我需要在文件/文件夹中保留一些像termsandconditions.pdf这样的文件。

我在config.yml中的配置是:

# Assetic Configuration

parameters:
    # Assetic
    assetic.filter.compass.images_dir: %kernel.root_dir%/../web/images
    assetic.filter.compass.http_path:  /images
    assetic.filter.compass.images_dir: %kernel.root_dir%/../web/files
    assetic.filter.compass.http_path:  /files

assetic:
    debug:          %kernel.debug%
    use_controller: false
    filters:
        sass:    ~
        compass: ~
        cssrewrite: ~

树枝文件中的

路径是:

<div class="small-4 columns">
                <p>I accept the <a href="{{ asset('/files/terms_and_conditions.pdf') }}" target="_blank"><span class="pinkText">Terms and Conditions</span></a></p>
            </div>

如果有人采取步骤,请告诉我......我对Symfony了解

2 个答案:

答案 0 :(得分:0)

安装资产时,公用文件夹中的所有内容都将被复制到Web文件夹中。

所以创建一个文件夹文件,然后像这样调用它们:

<p>I accept the <a href="{{ asset('bundles/bundleName/files/terms_and_conditions.pdf') }}">

或使用控制器为其服务

use Symfony\Component\HttpFoundation\BinaryFileResponse;



Class Controller ....
    function downloadTermsAndCondsAction() {

    $file = __DIR__.'/../../../../web/bundles/bundleName/files/terms_and_conditions.pdf';
    $response = new BinaryFileResponse($file);
    return $response;
}

答案 1 :(得分:0)

在您的具体情况下,我建议您手动将您的terms_and_conditions.pdf放在网络/文件夹中。没有必要使用bundle / app / assetic来解决这种情况,当然也没有使用控制器。