fromholdio/silverstripe-embedfield

一个用于在页面或数据对象中添加oembed对象的表单字段

安装: 126

依赖项: 0

建议者: 0

安全: 0

星星: 1

关注者: 0

分支: 9

开放问题: 0

类型:silverstripe-vendormodule

4.0.2 2024-07-04 16:21 UTC

This package is auto-updated.

Last update: 2024-09-04 16:45:12 UTC


README

此字段设计用于允许用户将oembed对象(例如YouTube视频)附加到页面或数据对象。它将oembed结果信息存储在EmbedObject中,以便从模板(或您想要的位置)轻松访问。

本版本主要基于SilverStripe Embed Field nathancox/embedfield的工作,该项目已经几年没有动静了。

此4.x版本更改了composer包的供应商和名称,以及EmbedObject和EmbedField类的命名空间。

此版本包括样式更新,与Silverstripe v5和Embed/Embed v4的兼容性和增强,以及一些其他小调整。

要求

  • SilverStripe 5.0+

安装说明

  1. 使用composer安装 composer require fromholdio/silverstripe-embedfield
  2. 访问您的网站.com/dev/build重新构建数据库

使用概述

创建一个到EmbedObject的has_one关系,然后在getCMSFields中创建一个EmbedField

namespace {

    use SilverStripe\CMS\Model\SiteTree;
    use Fromholdio\EmbedField\Model\EmbedObject;
    use Fromholdio\EmbedField\Forms\EmbedField;

    class Page extends SiteTree
    {
        private static $db = [];

        private static $has_one = [
            'MyVideo' => EmbedObject::class
        ];
        
        public function getCMSFields() {
            $fields = parent::getCMSFields();
            
            $fields->addFieldToTab('Root.Main', EmbedField::create('MyVideoID', 'Sidebar video'));
            
            return $fields;
        }
    }
}

在页面模板中,现在可以使用$MyVideo嵌入视频。