【发布时间】:2015-09-22 14:51:06
【问题描述】:
我正在使用 Symfony CMF Media Bundle 来实现以下目标。我有几个节点可以有图像和可下载的 PDF。 我已经发现 setImage 方法必须这样实现:
public function setPreviewImage($previewImage)
{
if ($previewImage === null) {
return $this;
}
if (!$previewImage instanceof ImageInterface && !$previewImage instanceof UploadedFile) {
$type = is_object($previewImage) ? get_class($previewImage) : gettype($previewImage);
throw new \InvalidArgumentException(sprintf(
'Image is not a valid type, "%s" given.',
$type
));
}
if ($this->previewImage) {
$this->previewImage->copyContentFromFile($previewImage);
} elseif ($previewImage instanceof ImageInterface) {
$previewImage->setName('previewImage');
$this->previewImage = $previewImage;
} else {
$this->previewImage = new Image();
$this->previewImage->copyContentFromFile($previewImage);
}
return $this;
}
然后在另一个论坛中有人建议将此属性级联持久化。有这个提示:https://github.com/symfony-cmf/BlockBundle/blob/master/Resources/config/doctrine-phpcr/ImagineBlock.phpcr.xml#L22。现在我想知道如何以及是否可以在我的配置中设置此选项。
我想知道的下一部分是 cmf_media_file 类型。这里有没有人设法将 PDF 存储到 PHPPCR 节点属性中?
如果有任何帮助,我将不胜感激。
【问题讨论】:
-
好吧想通了。对于任何使用注释的人,您必须像这样设置它: /** * @var Image * @PHPCR\Child(cascade="persist") */
-
请将您自己的解决方案作为答案并将其标记为已接受!
-
发布了答案,但我可以在两天内将其标记为已接受 :)
标签: symfony symfony-cmf