[TYPO3-german] Leere Kategorie hinzufügen

Eike Starkmann starkmann at undkonsorten.com
Tue Oct 8 12:55:55 CEST 2013


Ok, ich habe es jetzt gefunden:

Der SelectViewHelper hat die Optionen:
prependOptionLabel und prependOptionvalue.

Damit lässt sich das Problem lösen ohne leere Objekte zu erstellen.

Bis denne, Eike
On 01.10.2013 18:16, Eike Starkmann wrote:
> Die erste Lösung läuft jetzt.
> 
> Ich musste im Demandobjekt die Signatur ändern:
> Von:
> public function setRegions(\TYPO3\CMS\Extbase\Domain\Model\Category
> $regions)
> 
> Nach:
> public function setRegions($regions)
> 
> Bis denne, Eike
> 
> On 01.10.2013 18:01, Eike Starkmann wrote:
>> Hallo,
>>
>> ich habe ein Problem was öfter auftritt und ich nicht wirklich schickt
>> lösen konnte:
>>
>> Ich habe ein Filterfeld im FE (selectbox) auf diese mappe ich z.b.
>> Kategorien (Categories von TYPO3).
>>
>> Nun habe ich alle Kategorien in der Selectbox, aber ich möchte halt auch
>> suchen im Suchfeld. Daher brauche ich die Option "Alle Kategorien" in
>> der Selectbox.
>>
>> Die schickeste Lösung wäre, dachte ich, man erstellt einfach eine leere
>> Kategorie und fügt sie dem ObjectStorage hinzu welche auf die Box
>> gemappt wird.
>>
>> $emptyCategory = new \TYPO3\CMS\Extbase\Domain\Model\Category;
>> $emptyCategory->setTitle(\TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate('tx_event_domain_model_demand.topic.none','event'));
>> $regions->attach($emptyCategory);
>>
>> Das geht auch gut aber wenn ich auf Suche klicke und "Alle Kategorien"
>> ausgewählt sind kommt immer diese Fehlermeldung:
>>
>> Argument 1 passed to
>> Undkonsorten\Event\Domain\Model\EventDemand::setRegions() must be an
>> instance of TYPO3\CMS\Extbase\Domain\Model\Category, null given
>>
>> Das gleiche passiert auch wenn ich das leere Objekt per so hinzufüge:
>> $regions = array_merge(array(0=>'-Alle-'),$regions->toArray());
>>
>> Die einzige Lösung für diese Problem die geht habe ich mal in einer
>> anderen Extension benutzt:
>> Im Repository das leere Element hinzufügen:
>>
>> public function findAllWithEmptyCabinet() {
>> 		return
>> array_merge(array(0=>Tx_Extbase_Utility_Localization::translate('tx_medialibrary_domain_model_category.none',
>> 'medialibrary')),$this->findAll()->toArray());
>> }
>>
>> Ich finde alle Lösungen eigentlich nicht so gut, die erste aber noch am
>> besten wenn sie funktionieren würde.
>>
>> Wie löst ihr sowas?
>>
>> Bis denne, Eike
>>
> 



More information about the TYPO3-german mailing list