1

我正在使用 SonataMediaBundle,我不想为某些文件类型(例如 pdf、xls、doc)生成图标。我想使用默认图标(例如PDF 图标)。

我一直在阅读 Sonata Media文档,我相信我需要这样的东西:

web/uploads/media/media_bundle/images/default_pdf/file.png或者 web/uploads/media/sonatamedia/files/default_pdf/file.png

两者都不起作用。

机会<format>意味着“小”或“大”,我也试过这个:

web/uploads/media/media_bundle/images/default_small/file.png

我假设这意味着file.png如果需要一个小图标并且文件实例没有自定义图标,则无论 mime 类型如何,都会为每个文件显示。我也尝试使用admin而不是default作为上下文。没有骰子。

图标 src 始终/uploads/media/sonatamedia/files/admin/file.png- 作为绝对路径,实际上并不存在。

我的图标文件是 45px 宽,我在 config.yml 中设置:

        formats:
            small: { width: 45 , quality: 70}
            big:   { width: 500 , quality: 70}
            pdf: { width: 45 , quality: 70} //tried with and without this line

文件权限为 644,缓存已清空。我究竟做错了什么?

4

3 回答 3

1

在文档中,示例配置显示:

cdn:
    server:
        path: /uploads/media # http://media.sonata-project.org/

我需要

cdn:
    server:
        path: /ACC/web/uploads/media # http://media.sonata-project.org/

因为我网站的基本网址类似于http://example.com/ACC我希望这对其他人有用。

于 2014-04-25T17:55:31.723 回答
0

假设您的文档在默认上下文中

{% thumbnail media, 'big' %}

会给你一个像这样的图像路径

/uploads/media/sonatamedia/files/default_big/file.png

您只需将file.png复制到/uploads/media/sonatamedia/files/default_big/ 即可

编辑:我个人去了CSS。

模板 :

<a href="{{ path('sonata_media_download', {'id': media|sonata_urlsafeid }) }}"
class="downloadLink">Download {{media.name}}
</a>

CSS:

.downloadLink{
    margin: 10px;
    padding: 10px 10px 10px 62px;
    background: #fff url(../../bundles/mybundle/images/icons/fileIcon.png) left top no-repeat;
    display: block;
    border: 1px solid #ddd;
    height: 60px;
}
于 2014-03-19T15:36:12.307 回答
-1

是的。它在 Sonata 源代码中的硬编码如下:

// @todo: fix the asset path
$path = sprintf('sonatamedia/files/%s/file.png', $format);
于 2018-05-22T17:08:45.137 回答