armetiz/media-bundle

此包已废弃,不再维护。未建议替换包。

Symfony ArmetizMediaBundle

安装: 84

依赖者: 0

建议者: 0

安全: 0

星标: 2

关注者: 2

分支: 0

开放问题: 0

类型:symfony-bundle

1.0.5 2012-11-02 09:11 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:21:58 UTC


README

project status Build Status

媒体管理器包。

待办事项

进行某些操作以提供自动CDN http://domain.tld/medias/ 添加 "base_folder: medias/" 使用它来 Gaufrette 适配器 & CDN

将 "namespace" 从 Provider 移至 Context。告诉 MediaManager 在选定的 Provider 上使用 Context 参数

使用 "transformer.null" 可以使用 Provider 在不同格式上的默认处理

在 Media 中直接注册 context & provider:避免自动检测 context & provider。这也可以让 Media 在多个 context 中使用,而无需定义 ClassEntity。

视图渲染

options = { transformer: "thumbnail", transformer_options: { //Optional, use default transformer option and merge with it engine: gd } };

mediaRender (monMedia, "format_name", options);

//Numerosus 为了选择渲染类型,请使用带有 Helper Twig 的渲染选项。这将避免使 MediaManager 配置复杂化,因为 Provider 的格式配置...

安装

安装是一个简单的 3 步过程

  1. 使用 composer 下载 ArmetizMediaBundle
  2. 启用 Bundle
  3. 配置应用程序的 config.yml

步骤 1:使用 composer 下载 ArmetizMediaBundle

在您的 composer.json 中添加 ArmetizMediaBundle

{
    "require": {
        "armetiz/media-bundle": "*"
    }
}

现在运行以下命令让 composer 下载该包

$ php composer.phar update armetiz/media-bundle

Composer 将将包安装到您的项目的 vendor/armetiz 目录中。

步骤 2:启用 Bundle

在 kernel 中启用该 Bundle

<?php
// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...
        new Armetiz\MediaBundle\ArmetizMediaBundle(),
    );
}

步骤 3:配置应用程序的 config.yml

最后,将以下内容添加到您的 config.yml 中

# app/config/config.yml
armetiz_media:
    filesystems:
        fake:
            id: fake.service
    cdns: 
        local:
            base_url: %website_url%/medias
    contexts:
        default:
            providers: 
                armetiz.media.provider.youtube: ~
                armetiz.media.provider.image:
                    formats:
                        annexe_display:
                            transformer: armetiz.media.transformer.image_to_thumbnail
            formats:
                thumbnail: {width: 512}

配置

此 Bundle 可配置,以下是您可以执行的操作列表

  • 默认存储存在。路径为 "web/medias"。
  • Context 可以接受在任何地方定义的 provider(参见上面:app.media.provider_foo)
  • Context 可以接受多个 provider。每个 provider 处理特定的媒体。如果多个 provider 可以处理媒体,则将首先选择定义的第一个

注意

用法

##Twig 一些辅助函数已经为 Twig 创建。实际上,您可以:使用模板渲染媒体,获取原始媒体、uri 或简单路径。

{{ media(thumbnail) }}
{{ media(thumbnail, {template: foo}) }}
{{ mediaPath(thumbnail) }}
{{ mediaUri(thumbnail) }}
{{ mediaRaw(thumbnail) }}

上下文

上下文是 Media 与 Providers 之间的一种简单映射。

Provider

提供者是特定媒体的具体管理者。它可以是一个FileProvider、YoutubeProvider、FlickrProvider、ImageProvider等现有类型。

  • 文件(默认选项)
  • 图片
  • YouTube
  • Dailymotion
  • Vimeo
  • 谷歌地图

注意:如果您为单个上下文定义了多个提供者,请将限制更严格的提供者放在上面!