[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