markup/oembed-bundle

Bundle with a way of defining oEmbed providers, and rendering oEmbed in templates.

Installs: 55 733

Dependents: 0

Suggesters: 0

Security: 0

Stars: 4

Watchers: 5

Forks: 2

Open Issues: 0

Type:symfony-bundle

2.0.0 2020-01-30 08:31 UTC

This package is auto-updated.

Last update: 2024-10-29 04:17:52 UTC


README

Build Status

Installation

You can install this bundle using composer or add the package to your composer.json file directly.

   composer require markup/oembed-bundle

After you have installed the package, you just need to add the bundle to your AppKernel.php file:

   // in AppKernel::registerBundles()
   $bundles = array(
       // ...
       new Markup\OEmbedBundle\MarkupOEmbedBundle(),
       // ...
   );

About

This Symfony2 bundle offers the ability to easily define integrations with OEmbed providers on an ad-hoc basis without needing to make use of a service like Embed.ly.

Usage

Say you want to include Youtube videos using OEmbed - you can set up a provider as semantic configuration in your config.yml file:

    markup_o_embed:
        providers:
            youtube:
                endpoint: http://www.youtube.com/oembed
                scheme: "http://www.youtube.com/watch?v=$ID$"
                code_property: html

You can then render oEmbed blocks in a template either by referencing the media ID and provider inline:

    {{ markup_oembed('dQw4w9WgXcQ', 'youtube', {}) }}

or if you have passed an object of class Markup\OEmbedBundle\OEmbed\Reference into your template:

    use Markup\OEmbedBundle\OEmbed\Reference;

    $oEmbed = new Reference('dQw4w9WgXcQ', 'youtube');
    $twig->render('my_template.html.twig', array('oembed' => $oEmbed));

you can then reference it slightly differently:

    {{ markup_oembed_render(oembed, {}) }}

License

Released under the MIT License. See LICENSE.