A Media Manager Bundle.
Do something to provide an automatic CDN http://domain.tld/medias/ Add "base_folder: medias/" Use it to Gaufrette Adapter & CDN
Move "namespace" from Provider to Context. Tell the MediaManager to use Context params on selected Provider
L'utilisation d'un "transformer.null" permet d'utiliser les traitements par défaut du Provider sur different format
Enregistrer le context & le provider au sein du Media directement : eviter la detection automatique du context & du provider. Cela permet aussi d'utiliser un Media dans plusieurs contexts sans devoir définir de ClassEntity.
Rendu de vue
options = { transformer: "thumbnail", transformer_options: { //Optional, use default transformer option and merge with it engine: gd } };
mediaRender (monMedia, "format_name", options);
//Numerosus Pour choisir le type de rendu, utiliser les options de rendu avec un Helper Twig. Cela va eviter de compliquer le dévleoppement du MediaManager avec la configuration des formats par Provider.. Ce qui allourdit la configuration énormement
Installation is a quick 3 step process:
Add ArmetizMediaBundle in your composer.json:
{
"require": {
"armetiz/media-bundle": "*"
}
}
Now tell composer to download the bundle by running the command:
$ php composer.phar update armetiz/media-bundle
Composer will install the bundle to your project's vendor/armetiz directory.
Enable the bundle in the kernel:
<?php
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
// ...
new Armetiz\MediaBundle\ArmetizMediaBundle(),
);
}
Finally, add the following to your 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}
This bundle can be configured, and this is the list of what you can do :
Note:
#Twig Some helpers have been created to Twig. In fact, you can : render the media using templates, get the raw media, and uri or a simple path.
{{ media(thumbnail) }}
{{ media(thumbnail, {template: foo}) }}
{{ mediaPath(thumbnail) }}
{{ mediaUri(thumbnail) }}
{{ mediaRaw(thumbnail) }}
A context is a simple mapping between an Media & Providers.
A provider is the specific manager for a specific Media. It can be a FileProvider, YoutubeProvider, FlickrProvider, ImageProvider... Existing type :
Note: If you define more than one provider for a single context. Put the more restrictive on top !
How can I help you explore Laravel packages today?