Конструктор расширений TYPO3 загрузка нескольких изображений не работает

Моя цель - создать расширение с помощью конструктора расширений в версии TYPO3 7.6.2. Я создал расширение продукта категории из документа конструктора расширений, он отлично работает, за исключением загрузки одного изображения.

Но мне нужно создать функциональность для добавления нескольких изображений к одному продукту и отображения карусели изображений на веб-интерфейсе. Но конструктор расширений не работает с загрузкой файлов.

Я новичок в TYPO3, поэтому не понимаю, как добавить к нему несколько изображений? Я прочитал слишком много документов, но не нашел идеального решения.

Я просто хочу узнать, как добавить несколько изображений к продуктам?

Заранее спасибо!


person vids1229    schedule 16.02.2016    source источник


Ответы (1)


Наконец-то я получил решение этого вопроса.

Перейдите к своему расширению и следуйте инструкциям -

  1. /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;
        }
    
  2. /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']
                ),
        ),
  1. /ext_tables.sql

добавить my_pictures varchar(255) DEFAULT '' NOT NULL,

  1. Для отображения в шаблоне жидкости -
<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>

Вот и все ! Надеюсь, это кому-то поможет.

Спасибо

person vids1229    schedule 18.02.2016
comment
Если ссылка не работает, не могли бы вы опубликовать соответствующие части ссылки в своем ответе? Большое спасибо, - person Wai Ha Lee; 18.02.2016
comment
@WaiHaLee Я отредактировал ответ выше. Теперь вы можете уместно ответить. Спасибо - person vids1229; 18.02.2016