supercool/fetch

A field type to embed video for Craft CMS

Installs: 19 391

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 4

Forks: 0

Open Issues: 0

Type:craft-plugin

4.0.0 2023-09-22 10:52 UTC

This package is auto-updated.

Last update: 2024-10-22 13:08:22 UTC


README

A field type to embed videos for Craft CMS

Requirements

This plugin requires Craft CMS 3.0.0 or later.

Installation

To install the plugin, follow these instructions.

  1. Open your terminal and go to your Craft project:

     cd /path/to/project
    
  2. Then tell Composer to load the plugin:

     composer require supercool/fetch
    
  3. In the Control Panel, go to Settings → Plugins and click the “Install” button for Fetch.

Usage

Supported providers (links taken at random from site for example purposes):

Settings

Plugin

"validateUrlsOnSave" - Lightswitch - When disabled, elements will be able to save even if the link is invalid, or the service is non-responsive. this can be used in the case of another service issue, similar to when linode was blacklisted by youtube.

Field

Each available provider will have a lightswitch that allows you to enable/disable them for the field. This will default to enabled.

Twig

If the field is not populated, it will return either null or an empty string.

If the field is populated and has no issues, it will return a FetchModel (detailed below)

If the field is populated and has errors getting the embed, it will return a FetchModel containing no data

FetchModel

Available methods:

{{ field.success }}
or
{{ field.getSuccess() }}

Returns a boolean, false if there were any errors fetching the embed, true if there weren't

{{ field.errorMessage }}
or
{{ field.getErrorMessage() }}

If the embed fetch was unsuccessful, returns the error message, else returns null

{{ field.twig }}
or
{{ field.getTwig() }}

Returns the twig for the embed, will be an empty string if there was an error fetching the embed

{{ field.html }}
or
{{ field.getHtml() }}

Identical to .twig / .getTwig(), but returns the markup as html rather than twig_markup

{{ field.provider }}
or
{{ field.getProvider() }}

Returns the provider identified for the url, in lowercase (e.g youtube), or null if there was an error

{{ field.object }}
or
{{ field.getObject() }}

Returns the data received from the oembed api, or null if there was an error.

This data will vary from api to api, and can best be found by looking at the relevant api docs. e.g https://developers.facebook.com/docs/instagram/embedding/ for instagram.

Brought to you by Supercool Ltd