oEmbed is a format for allowing an embedded representation of a URL on third party sites.
oEmbed was designed to avoid having to copy and paste HTML from the site hosting the media you wish to embed. It supports videos, images, text, and more.
This eZ extension - loosely based on the WordPress oemabed implementation - offers the oEmbed easy embedding feature via some template operator.
- eZP >= 4.X or 5.X (when running the Legacy Stack only)
Enable the extension; clear all caches
- blip.tv
- DailyMotion
- Flickr
- FunnyOrDie.com
- Hulu
- Photobucklet
- PollDaddy
- Qik
- Revision3
- Scribd
- Sideshare
- SmugMug
- Ustream
- Viddler
- Vimeo
- Wordpress.tv
- YouTube
- Google Video
You can add your own handler by creating a php class which implements oEmbedProviderInterface and adding a oEmbedProviders[] in ocembed.ini.
Print the html value of oEmbed response.
The separator and parameters variables are not required.
The separator value can be a string or an array.
The default separator value is array( '<div class="text-center">', '</div>' )
The parameters value must be an array and overrides the default ocembed.ini width and height parameters [OCEmbedSettings].EmbedDefaults.
Example:
{"http://www.slideshare.net/gggeek/ezpublish-meets-simfony2-phpday2013"|autoembed( array( '<div class="media-embed">', '</div>' ), hash( 'width', '425', 'height', '355' ) )}The example returns (without html comments):
<!-- separator -->
<div class="media-embed">
<!-- start of result of oembed fetch -->
<object width="425" height="355" id="__sse21389517">
<param value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=sf2ezpphpday2013-130518043919-phpapp01&stripped_title=ezpublish-meets-simfony2-phpday2013&userName=gggeek" name="movie">
<param value="true" name="allowFullScreen">
<param value="always" name="allowScriptAccess">
<param value="transparent" name="wmode">
<embed width="425" height="355" wmode="transparent" allowfullscreen="true" allowscriptaccess="always" type="application/x-shockwave-flash" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=sf2ezpphpday2013-130518043919-phpapp01&stripped_title=ezpublish-meets-simfony2-phpday2013&userName=gggeek" name="__sse21389517">
</object> <!-- end of result of oembed fetch -->
<!-- end separator -->
</div>This operator is used in the eztext.tpl and ezxmltext.tpl override templates include in this extension:
{* ocembed/design/standard/templates/content/datatype/view/eztext.tpl *}
{$attribute.content.output.output_text|autoembed()}Return all embeddable links found in passed text.
Example:
{def $test = $my_long_text_full_of_links|search_embed()}Returns an array of embeddable urls.
Return the oEmbed response
The url parameter is required and must be an "oembeddable" url.
The parameters value must be an array and overrides the default ocembed.ini width and height parameters [OCEmbedSettings].EmbedDefaults.
Example:
{def $test = get_oembed_object("http://www.slideshare.net/gggeek/ezpublish-meets-simfony2-phpday2013")}The $test variable contains an associative array of oembed response object.
If ocembed.ini [OCEmbedSettings] Cache is enabled, all ocembed results are stored in ezsite_data table under the key 'oembed_cached_data'.
To clear that cache, you can run php extension/ocembed/bin/php/clear_cache_data.php -s<siteaccess>