TYPO3 扩展构建器多张图片上传不工作
TYPO3 extension builder multiple images upload not working
我的目标是在 TYPO3 7.6.2 版本中使用扩展构建器创建扩展。我从扩展构建器文档创建了类别产品扩展,除了上传单个图像外,它工作完美。
但我必须创建功能以将多个图像添加到单个产品并在前端显示图像轮播。但是扩展构建器不适用于文件上传。
我是 TYPO3 的新手,所以我不明白如何向其中添加多个图像?我阅读了太多文档,但没有找到完美的解决方案。
我只想知道怎么给产品添加多张图片的流程?
提前致谢!
终于找到了这个问题的答案。
转到您的分机并按照步骤操作 -
/Classes/Domain/Model/YourModel.php
/**
* yourPictures
*
* @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\FileReference>
* @lazy
*/
protected $yourPictures = NULL;
/**
* Constructor
*
* @return AbstractObject
*/
public function __construct() {
// ObjectStorage is needed to reference multiple files to one field
// see also @var before variable and @return before the respective get() method
$this->yourPictures = new \TYPO3\CMS\Extbase\Persistence\ObjectStorage();
}
/**
* returns yourPictures
*
* @return \TYPO3\CMS\Extbase\Persistence\ObjectStorage
*/
public function getYourPictures() {
return $this->yourPictures;
}
/**
* sets yourPictures
*
* @param \TYPO3\CMS\Extbase\Persistence\ObjectStorage $yourPictures
* @return void
*/
public function setYourPictures($yourPictures) {
$this->yourPictures = $yourPictures;
}
/Configuration/TCA/YourModel.php
在 array 'types'
中添加字段名称,并在 array 'columns'
中添加 -
'your_pictures' => array(
'exclude' => 1,
'label' => 'LLL:EXT:your_ext/Resources/Private/Language/locallang_db.xlf:tx_yourext_domain_model_yourmodel.your_pictures',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'yourPictures',
array('minitems'=>0,'maxitems'=>10),
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
),
),
- /ext_tables.sql
添加my_pictures varchar(255) DEFAULT '' NOT NULL,
- 以流体模板显示 -
<f:for each="{yourDomain.myPictures}" as="pic">
<f:image src="{pic.originalResource.publicUrl}" alt="{pic.originalResource.alternative}" title="{pic.originalResource.title}" ></f:image>
{pic.originalResource.description}
</f:for>
就是这样!希望对大家有所帮助。
谢谢
我的目标是在 TYPO3 7.6.2 版本中使用扩展构建器创建扩展。我从扩展构建器文档创建了类别产品扩展,除了上传单个图像外,它工作完美。
但我必须创建功能以将多个图像添加到单个产品并在前端显示图像轮播。但是扩展构建器不适用于文件上传。
我是 TYPO3 的新手,所以我不明白如何向其中添加多个图像?我阅读了太多文档,但没有找到完美的解决方案。
我只想知道怎么给产品添加多张图片的流程?
提前致谢!
终于找到了这个问题的答案。
转到您的分机并按照步骤操作 -
/Classes/Domain/Model/YourModel.php
/** * yourPictures * * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\FileReference> * @lazy */ protected $yourPictures = NULL; /** * Constructor * * @return AbstractObject */ public function __construct() { // ObjectStorage is needed to reference multiple files to one field // see also @var before variable and @return before the respective get() method $this->yourPictures = new \TYPO3\CMS\Extbase\Persistence\ObjectStorage(); } /** * returns yourPictures * * @return \TYPO3\CMS\Extbase\Persistence\ObjectStorage */ public function getYourPictures() { return $this->yourPictures; } /** * sets yourPictures * * @param \TYPO3\CMS\Extbase\Persistence\ObjectStorage $yourPictures * @return void */ public function setYourPictures($yourPictures) { $this->yourPictures = $yourPictures; }
/Configuration/TCA/YourModel.php
在
array 'types'
中添加字段名称,并在array 'columns'
中添加 -
'your_pictures' => array(
'exclude' => 1,
'label' => 'LLL:EXT:your_ext/Resources/Private/Language/locallang_db.xlf:tx_yourext_domain_model_yourmodel.your_pictures',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'yourPictures',
array('minitems'=>0,'maxitems'=>10),
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
),
),
- /ext_tables.sql
添加my_pictures varchar(255) DEFAULT '' NOT NULL,
- 以流体模板显示 -
<f:for each="{yourDomain.myPictures}" as="pic">
<f:image src="{pic.originalResource.publicUrl}" alt="{pic.originalResource.alternative}" title="{pic.originalResource.title}" ></f:image>
{pic.originalResource.description}
</f:for>
就是这样!希望对大家有所帮助。
谢谢