2014-11-23 7 views
1

Я делаю небольшое расширение с расширителем, который имеет две модели, компании и категории. Каждый из них имеет поле изображений, которое должно теоретически удерживать или больше изображений. Я следовал this tutorial, и определим функцию GetImage() как ObjectStorage, как это:несколько изображений в расширении с использованием extbase и FAL

/** 
    * mypictures 
    * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\FileReference> 
    */ 
    protected $mypictures; 

    /** 
    * Returns mypictures 
    * 
    * @return \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\FileReference> $postpictures 
    */ 
    public function getMypictures() { 
     return $this->mypictures; 
    } 

Но страница просто загружает в течение примерно 30 секунд, а затем печатает ничего. Кто-нибудь знает, что я делаю неправильно?

изменить: проблема с таймаутом исчезла. Теперь он говорит: «ForViewHelper поддерживает только массивы и объекты реализации \ проходимую интерфейс»

+0

Просьба представить фрагменты кода действия и вида вашего контроллера (шаблон жидкости) –

ответ

2

Может быть, это просто не хватает в ваших предоставленных фрагментах, но вы должны инициализировать объект хранения в модели:

public function __construct() { 
    // Do not remove the next line: It would break the functionality 
    $this->initStorageObjects(); 
} 

/** 
* Initializes all ObjectStorage properties 
* 
* @return void 
*/ 
protected function initStorageObjects() { 
    $this->mypictures = new \TYPO3\CMS\Extbase\Persistence\ObjectStorage(); 
} 

Тогда, очистите системный кеш и повторите попытку.

+0

Это работает для меня, кажется, отсутствует в оригинальном учебнике. – mtness

Смежные вопросы