Pimcore 10 - PHP 8- Symfony 5
我尝试使用新资产更新图库。在我尝试保存对象之前,一切似乎都运行得很好:
Pimcore\Model\DataObject\Data\Hotspotimage::getImage(): Return value must be of type ?Pimcore\Model\Asset\Image, Pimcore\Model\Asset returned
下面是我的脚本中我有问题的部分:
$asset = new Asset();
$asset->setFilename($filename);
$asset->setData(file_get_contents($somewhere . '/' . $filename));
$asset->setParent(Asset::getByPath('/folder/' . $sub_folder . '/'));
$asset->save();
$galleryAssets = $object->getMyGallery();
$currentItems = array_filter($galleryAssets->getItems());
$advancedImage = new \Pimcore\Model\DataObject\Data\Hotspotimage();
$advancedImage->setImage($asset);
$currentItems[] = $advancedImage;
$object->setMyGallery(new \Pimcore\Model\DataObject\Data\ImageGallery($currentItems));
$object->save();发布于 2021-06-03 20:16:43
在没有更多上下文的情况下,我假设您需要在示例的第1行创建Pimcore\Model\Asset\Image的实例,而不是Pimcore\Model\Asset类型。该错误表示您正试图通过Pimcore\Model\DataObject\Data\Hotspotimage::setImage()添加错误类类型的图像
发布于 2021-08-10 08:13:21
尝试通过以下方式加载图像
$img = Asset\Image::getById($asset->getId());并将此图像添加到hotspotimage中
$advancedImage->setImage($asset);我知道它不是最优的,因为它需要额外的资源。但我不知道如何将资产类转换为子类。
https://stackoverflow.com/questions/67821235
复制相似问题