toastnz / youtubefield
Field for selecting YouTube videos. Takes various URL formats as input and stores the YouTube ID.
Installs: 8 622
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 15
Type:silverstripe-vendormodule
Requires
- guzzlehttp/guzzle: ^7
- silverstripe/framework: ^4 || ^5
README
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).
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);