Моя цель — создать расширение с помощью компоновщика расширений в версии TYPO3 7.6.2. Я создал расширение Product Category из документа build extension, оно отлично работает, кроме загрузки одного изображения.
Но мне нужно создать функциональность для добавления нескольких изображений в один продукт и отображения карусели изображений на веб-интерфейсе. Но построитель расширений не работает с загрузкой файлов.
Я новичок в 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']
),
),
добавлять 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>
Это оно ! Надеюсь, это кому-нибудь поможет.
Спасибо
Других решений пока нет …