域名模型
class Image extends AbstractContent {
/**
* @var \TYPO3\CMS\Extbase\Domain\Model\FileReference
*/
protected $file;
/**
* Gets the image file
*
* @return \TYPO3\CMS\Extbase\Domain\Model\FileReference
*/
public function getFile() {
return $this->file;
}
/**
* Sets the image file
*
* @param \TYPO3\CMS\Extbase\Domain\Model\FileReference $file
* @return void
*/
public function setFile($file) {
$this->file = $file;
}
}
导入服务片段
/**
* @var \TYPO3\CMS\Core\Resource\ResourceStorage
*/
protected $defaultStorage;
[...]
$this->defaultStorage = ResourceFactory::getInstance()->getDefaultStorage();
[...]
$file = $this->defaultStorage->addFile(
'/tmp/4711',
$this->defaultStorage->getRootLevelFolder(),
'foo.jpg',
'overrideExistingFile'
);
$falReference = ResourceFactory::getInstance()->createFileReferenceObject(
array(
'uid_local' => $file->getUid(),
'uid_foreign' => uniqid('NEW_'),
'uid' => uniqid('NEW_'),
)
);
$reference = GeneralUtility::makeInstance(FileReference::class);
$reference->setOriginalResource($falReference);
$content = GeneralUtility::makeInstance(Image::class);
$content->setFile($reference);
保存$content
后,图片可通过记录和文件装载获得,但Ref
中的BE > FILE > File List
列)为-
而不是>= 1
。所以看起来像参考是有些破碎的。当我使用BE将图像添加到记录中时,一切都很好。我正在使用TYPO3 CMS 7.3-dev。
我的代码出了什么问题?
答案 0 :(得分:2)
我在Slack channel of TYPO3中得到了提示。
您只需要plugin.tx_myext.persistence.updateReferenceIndex = 1
分别设置module.tx_myext.persistence.updateReferenceIndex = 1
,索引就会更新。
或者您可以使用\TYPO3\CMS\Core\Database\ReferenceIndex::updateRefIndexTable()
。
答案 1 :(得分:-1)
当我必须在我的扩展程序中使用FAL时,我发现此链接: http://t3-developer.com/extbase-fluid/extensions-erweitern/fal-in-eigenen-extensions/fal-in-typo3-extensions-verwenden/
因为它是德语,我将在最短的时候解释在那里做了什么:
在ext_tables.sql中扩展您的数据模型 添加一些char类型的列(例如varchar)
将您的列添加到ext_tables.php
中TCA数组的列部分'mypictures'=>阵列( 'exclude'=> 1, 'label'=> '我的照片', 'config'=> \ TYPO3 \ CMS \ Core \ Utility \ ExtensionManagementUtility :: getFileFieldTCAConfig('image',array( 'appearance'=>阵列( 'createNewRelationLinkTitle'=> 'LLL:EXT:CMS / locallang_ttc.xlf:images.addFileReference' ) 'minitems'=> 0, 'maxitems'=> 99, ),$ GLOBALS ['TYPO3_CONF_VARS'] ['GFX'] ['imagefile_ext']), ),
扩展您的模板文件。注意注释!
您可以在流体模板中使用媒体