Getting started

Configure storage

First, you need to configure a storage option, see Storage options section.

This is an example:

# .env
MEDIA_BUCKET_NAME=example-gcloud-media-bucket
# config/packages/sfs_media.yaml
sfs_media:
  google_cloud_storage:
    bucket: '%env(MEDIA_BUCKET_NAME)%'

Configure basic media type

# config/packages/sfs_media.yaml
sfs_media:
  content:
    name: 'Team picture'
    upload_requirements: { minWidth: 100, minHeight: 100, mimeTypes: ['image/jpeg'],  }

Configure admin panel

Enable admin panel

# config/packages/sfs_media.yaml
sfs_media:
  media:
    admin_controller: true

Add admin routes

# config/routes/admin.yaml
_sfs_media_admin_types_:
  resource: "@SfsMediaBundle/config/routing/admin_media.yaml"
  prefix: "/media"

Add permissions

# config/packages/security.yaml
imports:
  - { resource: '@SfsMediaBundle/config/security/admin_role_hierarchy.yaml' }

security:
    ROLE_ADMIN:
      - ROLE_SFS_MEDIA_ADMIN_MEDIAS_RW

Using medias

After uploading your first media file, you can use it:

{{ media|sfs_media_render_image }}