[TYPO3-mvc] How to access a repository from a flexform?
Michael Knoll
mimi at kaktusteam.de
Tue Feb 1 12:23:28 CET 2011
Hi Richard,
please mind, that using the Dispatcher here is deprecated. As far as I
see, this is only left for compatibility reasons... check out
Bootstrap... I will post a solution as soon as I have some time for that!
Greetings
Michael
Am 01.02.11 11:40, schrieb Richard Bausek:
> Hi Michael,
>
> thanks a lot for your help!!!
>
> Your solution worked like a charm :)
>
> Greetings,
> Richard
>
>
>
> On 31.01.2011 23:26, Michael Knoll wrote:
>> Hi Richard,
>>
>> before Extbase 1.3.0 you had to run the ExtBase Dispatcher to resolve /
>> load dependencies like those you need for the repository to work.
>> Nowadays, you have the bootstrap that does this job. Perhaps you can
>> take a look at this (it is the old way!):
>>
>> class user_Tx_Yag_Utility_Flexform_ExtbaseDataProvider {
>>
>>
>> /**
>> * Album repository
>> *
>> * @var Tx_Yag_Domain_Repository_AlbumRepository
>> */
>> protected $albumRepository;
>>
>>
>>
>> /**
>> * Get a list of albums
>> *
>> * @param array $config
>> * @return array $config
>> */
>> public function getAlbumList(array $config) {
>>
>> $dispatcher = t3lib_div::makeInstance('Tx_Extbase_Dispatcher');
>>
>> $albumList = array();
>> if(!is_array($config['items'])) $config['items'] = array();
>>
>> $this->albumRepository =
>> t3lib_div::makeInstance('Tx_Yag_Domain_Repository_AlbumRepository');
>>
>> $query = $this->albumRepository->createQuery();
>> $query->getQuerySettings()->setRespectStoragePage(FALSE);
>> $albumCollection = $query->execute();
>>
>> foreach($albumCollection as $album) {
>> $albumList[] = array($album->getName(),$album->getUid());
>> }
>>
>> $config['items'] = array_merge($config['items'], $albumList);
>>
>> return $config;
>> }
>> }
>>
>>
>>
>> The Dispatcher still exists, but is obsolete, so take a look at the
>> bootstrap class!
>>
>>
>> Greetings
>>
>> Michael
>>
>>
>>
>>
>> Am 31.01.11 17:53, schrieb Richard Bausek:
>>> Hi list,
>>>
>>> for a frontend plugin configuration in a flexform I need to fill an
>>> "select" TCEForm field with data from my domain model based on the other
>>> settings from the flexform.
>>>
>>> To prevent code duplication and to have consistency between my frontend
>>> and backend output, I want to use my existing domain model repository to
>>> pull the domain objects into the flexform.
>>>
>>> I tried to create an userfunction with "itemsProcFunc" where I create an
>>> instance of my repository. But that doesn't seem to work as not all
>>> classes are loaded.
>>>
>>> Is it possible to use a repository outside of an frontend plugin or
>>> backend module? Are there any examples available or is there a
>>> recommended way of doing this?
>>>
>>> I'm using extbase and fluid 1.3.0alpha2 (can't change that ATM).
>>>
>>> Any help or clues is welcome!
>>>
>>> Thanks in advance,
>>> Richard
>>
>
More information about the TYPO3-project-typo3v4mvc
mailing list