Skip to content

SilverStripe Field for selecting YouTube videos. Takes various URL formats as input and stores the YouTube ID

License

Notifications You must be signed in to change notification settings

toastnz/silverstripe-youtubefield

 
 

YouTube Field for SilverStripe

Introduction

This SilverStripe module provides a YouTube field for use in the CMS/ModelAdmin. It accepts input of various common YouTube URL formats and converts them for storage in database as the 11-character YouTube ID.

Once a valid ID is saved the field will display the video's thumbnail and title.

Optionally you can provide a key for the YouTube v3 API, which is used to display additional information (duration and view count) and provides information immediately (rather than after saving).

Screenshot of Video Information

Requirements

  • silverstripe/framework ^4.0 (See 1 branch for SilverStripe 3 compatibility)

Basic field

mysite/code/Page.php

<?php

use EdgarIndustries\YouTubeField\YouTubeField;

class Page extends SiteTree
{

    private static $db = array(
        'VideoID' => 'Varchar(11)',
    );
    
    public function getCMSFields() {
        $fields = parent::getCMSFields();
        $fields->addFieldToTab('Root.Main', new YouTubeField('VideoID', 'YouTube Video'));
        return $fields;
    }
    
}

mysite/_config/config.yml

EdgarIndustries\YouTubeField\YouTubeField:
  api_key: YOUR_API_KEY

URL Parser

There is a static function which can be called (without using the YouTubeField) to simply retrieve the YouTube ID from a supported URL format.

YouTubeField::url_parser($url);

About

SilverStripe Field for selecting YouTube videos. Takes various URL formats as input and stores the YouTube ID

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 58.7%
  • JavaScript 29.0%
  • CSS 9.2%
  • Scheme 3.1%