Fof Upload 支持vedio & audio最新版
这两天搞了一个flarum论坛,无法发布视频和音频愁坏了我, 去flarum的中文论坛和英文论坛搜了一个遍(搜索是真难用啊),没找到现成的插件,唯一找的一个Fof upload,还不支持video 和 audio,后来找到了这篇帖子,于是开始了整改之路
我用的应该是截止到目前位置最新版的flarum 1.1.1, 这篇帖子就送给和我一样,安装的都是最新版的小伙伴,只要按照下面的步骤一步一步来,应该是百分之百可以搞定的,废话不多说,我们开始。
版本:Flarum1.1.1 & PHP7.4.26
1.下载补丁代码
我们先打开https://github.com/Csineneo/flarum-hack,这里面有我们需要的代码,先把代码下载为zip,然后解压出来, 会有一个flarum-hack-master的文件夹。
2.移入resources文件
我们进入到下面这个目录中:
flarum-hack-master/fof/upload/resources/templates/
把audio.blade.php 和 video.blade.php 两个文件复制到下面这个目录中:
/你的项目根目录/ares_forum/vendor/fof/upload/resources/templates/
3.移入Templates文件
我们进入到下面这个目录中:
flarum-hack-master/fof/upload/src/Templates
把AudioTemplate.php 和 VideoTemplate.php 两个文件复制到下面这个目录中:
/你的项目根目录/vendor/fof/upload/src/Templates/
复制进去以后,需要这两个文件需要分别改动两个地方:
1) 需要把第5行的类继承AbstractTemplate改为AbstractTextFormatterTemplate
2) 需要在所有方法声明那里注明返回类型
如果你不知道怎么改, 那就直接copy下面的:
AudioTemplate.php:
<?php
namespace FoF\Upload\Templates;
class AudioTemplate extends AbstractTextFormatterTemplate
{
/**
* @var string
*/
protected $tag = ‘audio’;
/**
* {@inheritdoc}
*/
public function name(): string
{
return 'Audio';
}
/**
* {@inheritdoc}
*/
public function description(): string
{
return 'MP3 Audio Template';
}
/**
* The xsl template to use with this tag.
*
* @return string
*/
public function template(): string
{
return $this->getView('fof-upload.templates::audio');
}
/**
* The bbcode to be parsed.
*
* @return string
*/
public function bbcode(): string
{
return '[upl-audio uuid={IDENTIFIER} size={SIMPLETEXT2} url={URL}]{SIMPLETEXT1}[/upl-audio]';
}
}
`
AudioTemplate.php:
<?php
namespace FoF\Upload\Templates;
class VideoTemplate extends AbstractTextFormatterTemplate
{
/**
* @var string
*/
protected $tag = ‘video’;
/**
* {@inheritdoc}
*/
public function name(): string
{
return 'Video';
}
/**
* {@inheritdoc}
*/
public function description(): string
{
return 'MP4 Video Template';
}
/**
* The xsl template to use with this tag.
*
* @return string
*/
public function template(): string
{
return $this->getView('fof-upload.templates::video');
}
/**
* The bbcode to be parsed.
*
* @return string
*/
public function bbcode(): string
{
return '[upl-video uuid={IDENTIFIER} size={SIMPLETEXT2} url={URL}]{SIMPLETEXT1}[/upl-video]';
}
}
4.回到根目录下,清除一下缓存
php flarum cache:clear
5.admin后台设置
进入后台,找到Fof Upload进行设置,这时候你就发现下拉菜单里多了两项,video和audio
上图的正则如下:
video\/(3gpp|mp4|mpeg|quicktime|webm)
audio\/(mp3|ogg|aiff|midi|mpeg|mp4)
设置好以后,就大功告成了!
附加:样式
我弄完以后试了试, 发现video标签太宽, 显示不下, 所以我修改了一下template文件,目录在:
flarum-hack-master/fof/upload/resources/templates/video.blade.php
给第2行的video加个style属性就可以了,当然你可以在这里定义你自己的css,想怎么搞怎么搞,我是就改了一下宽度:
<video controls style="width:100%;"><source src="{@url}" type="video/mp4">你的瀏覽器不支持 HTML5 視頻,請使用 Vivaldi 瀏覽器訪問。</video>
效果图
参考
https://discuss.flarum.org.cn/d/1492
别看了, 接下来没有了, 结束了!