我尝试在添加视频部分中放置浏览按钮,但我无法保存该视频。
请帮我解决这个问题。
答案 0 :(得分:0)
您需要创建一个插件来处理您的文件,然后将其上传到媒体文件夹并将该文件保存到数据库
供应商\模块名\模型\插件\ Adminhtml \产品\初始化\ HelperPlugin
<?php
namespace Vendor\ModuleName\Model\Plugin\Adminhtml\Product\Initialization;
use \Magento\Catalog\Controller\Adminhtml\Product\Initialization\Helper;
class HelperPlugin
{
protected $mediaDirectory;
protected $objectManager;
public function __construct(
\Magento\Framework\Filesystem $mediaDirectory,
\Magento\Framework\ObjectManagerInterface $objectManager
) {
$this->mediaDirectory = $mediaDirectory;
$this->objectManager = $objectManager;
}
public function afterInitialize(Helper $subject, $result)
{
if(!empty($_FILES['product']['name']['yourvideoatributename'])) {
$uploader = $this->objectManager->create('\Magento\MediaStorage\Model\File\Uploader', ['fileId' => 'product[yourvideoatributename]']);
$mediaDirectory = $this->mediaDirectory->getDirectoryRead(\Magento\Framework\App\Filesystem\DirectoryList::MEDIA);
$wrapDir = uniqid();
$fileName = $uploader->getCorrectFileName($_FILES['product']['name']['yourvideoatributename']);
$saveResult = $uploader->save($mediaDirectory->getAbsolutePath('catalog/product/manual/' . $wrapDir), $fileName);
$result['yourvideoatributename'] = 'catalog/product/yourvideoatributename/' . $wrapDir . '/' . $saveResult['file'];
}
return $result;
}
}
供应商\模块名\等\ adminhtml \ di.xml
<config>
<type name="\Magento\Catalog\Controller\Adminhtml\Product\Initialization\Helper">
<plugin name="yourp-initialize-after" type="Vendor\ModuleName\Model\Plugin\Adminhtml\Product\Initialization\HelperPlugin"/>
</type>
</config>
答案 1 :(得分:-1)
上传产品视频:
第1步:获取YouTube API密钥
第2步:配置Magento
第3步:链接到视频
第1步:获取YouTube API密钥
登录您的Google帐户,然后访问Google Developers Console。然后,请按照以下步骤操作:
在使用Google API下,点击Youtube Data API。
在左侧面板中选择Credentials,单击Create Credentials并选择API密钥。
提示您创建新密钥时,请选择“服务器密钥”。输入密钥和IP地址的名称,然后单击“创建”。
获得密钥后,将密钥复制到剪贴板。
第2步:配置Magento
在管理员边栏,商店&gt;设置&gt;配置。
在面板的“目录”下,选择“目录”。
展开“产品视频”部分,将Youtube API密钥粘贴到必填字段中。
如何上传产品视频添加API密钥
单击“保存配置”。
转到缓存管理以刷新缓存。
第3步:链接到视频
在Poduct Detail中,单击图像和视频中的添加视频。
输入YouTubeu或Vimeo视频的网址。
在URL字段中,如果您尚未输入Youtube API密钥,则会显示系统错误消息,单击“确定”继续。
如何上传产品视频错误消息
输入视频的标题和说明。
要上传预览图像,请浏览图像并选择文件。
如果您更喜欢使用视频元数据,请点击获取视频信息。
要将角色分配给视频,请标记每个角色的相应复选框:
基本图像
小图片
色板图片
缩略图
从产品页隐藏
完成后,点击保存。