[TYPO3-mvc] Problem with saving a mm relation (frontend)

Kerstin Eitner eitner.kerstin at googlemail.com
Tue Aug 30 23:38:06 CEST 2011


Hi everybody,

I have an event object which can be categorized (birthday, party, wedding).
If i save a new event with for example two categories in the backend
everything works fine, the correct db tables are filled and the mm
relations are created.

But when I try to save the event with categories in a frontend-form,
extbase goes on with no error but only the event is saved without the
given categories...

I have compared it with other extbase extension, but i don't get it.
Can anybody give me a hint what i am doing wrong here?

Thanks in advance,
Kerstin Eitner




Frontend-Form:

<f:form method="post" action="create" name="newEvent" object="{newEvent}">
        [..]
	<label for="category"><f:translate
key="tx_my_domain_model_event.category" /></label><br />
	<f:form.select property="category" options="{categories}"
optionValueField="uid" optionLabelField="title" /><br />

	<f:form.submit value="Create new" />
</f:form>



Event Model:

/**
 * Categories
 * @var  Tx_Extbase_Persistence_ObjectStorage<Tx_My_Domain_Model_Category>
 *
 */
protected $category;


/**
 * Setter for category
 *
 * @param
Tx_Extbase_Persistence_ObjectStorage<Tx_My_Domain_Model_Category>
 * @return void
 */
public function setCategory(Tx_Extbase_Persistence_ObjectStorage $cat) {
	$this->category = $cat;
}


TCA Event - Category Field Definition:

'category' => array(
	'exclude'	=> 1,
	'label'		=> 'category',
	'config'	=> array(
				'type' => 'select',
				'foreign_table' => 'tx_my_domain_model_category',
				'MM' => 'tx_my_event_category_mm',
				'size' => 10,
				'autoSizeMax' => 30,
				'minitems' => 0,
				'maxitems' => 9999,
				[..]


Event-Controller:

/**
* Initializes the current action
*
* @return void
*/
protected function initializeAction() {
	$this->eventRepository =
t3lib_div::makeInstance('Tx_My_Domain_Repository_EventRepository');		
}


/**
* Creates a new Event
*
* @param Tx_My_Domain_Model_Event $newEvent
* @return void
*/
public function createAction(Tx_My_Domain_Model_Event $newEvent) {
	$this->eventRepository->add($newEvent);
	$this->redirect('new');
}


More information about the TYPO3-project-typo3v4mvc mailing list