[TYPO3-english] add, edit Tx_RoqNewsevent_Domain_Model_Event from frontend

Vikram Mandal vikram at fivee.in
Tue Feb 24 13:21:14 CET 2015


Hi,

Found a way to get some of it working.

If I use findByUid() I get all the fields including those added by 
Roq_Newsevent

$this->eventRepository->findByUid($eventItemId);

I was getting null objects in the controller function. I can use 
findByUid() to init them. But this adds more issues as now I need to 
manually get all arguments and update/create new objects.

I saw Roq_Newsevent using findByUid() in its code ..so I guess this is 
the only way??

It would be great know if any one have more inputs on why this way or 
how could it better done.

IMHO: Also it seem like (i may be wrong) Roq_Newsevent is not following 
the right way to extending news 
https://github.com/TYPO3-extensions/news/blob/master/Documentation/Tutorial/ExtendingNews/Index.rst 

e.g The naming of model is not correct.

Thanks to Roq_Newsevent for the nice free extension.

Thanks
- Vikram


On 02/24/2015 01:05 PM, Vikram Mandal wrote:
> Hi,
>
> It seems to be some other reason. I have removed every thing and just
> kept list and edit actions.
>
> In edit fluid I only added:
> <f:debug title="eventItem">{eventItem}</f:debug>
> And still I get "An error occurred while trying to call
> ...\Controller\EventsController->editAction()"
>
> It seems like typo3 is not able to get instances of
> Tx_RoqNewsevent_Domain_Model_Event sent in the parameter.
>
> In Typo3 6.2.9 .. I do not get any Typo3 debug error
> But in TYpo3 7.0.2 I get error that table for
> Tx_RoqNewsevent_Domain_Model_Event does not exist... and this is true
> since Roq_Newsevent extension extends News.
>
> Now I use Tx_News_Domain_Model_News then all works fine but I can not
> access the fields added by Roq_Newsevent.
>
> So I guess I am missing some thing while accessing extended fields added
> by another extension (i.e.Roq_Newsevent)
>
> regards
> Vikram
>
>
>
>
>
>
> On 02/24/2015 02:20 AM, Richard Davies wrote:
>> Hi Vikram,
>>
>> Add action:
>> Your action has a parameter of "$eventItem". In your List template
>> there is
>> no 'eventItem' mentioned in your f:link.action. Typo3 is looking for that
>> param but can't find it.
>> It isn't completely clear what you want your 'add' to do, but hopefully
>> this should help:
>> Add a form instead of the link. Then in your action you can save it to
>> the
>> database:
>> So where you have
>>
>>> <f:link.action action="add" controller="Events" >Add
>>> Event</f:link.action>
>>>
>> You could have a form similar to:
>>
>>> <f:form name="eventItem" action="add" object="{event}"
>>> controller="Events"
>>> enctype="multipart/form-data">
>>>                  <f:form.textfield id="title" property="title"
>>> size="46" />
>>>                  <f:form.submit value="Add Event" />
>>>              </f:form>
>>>
>>
>> In your action you will then need:
>>
>>> public function addAction(Tx_RoqNewsevent_Doma
>>> in_Model_Event $eventItem) {
>>>                  $this->eventRepository->add($eventItem); //add it to
>>> the
>>> database
>>>
>>                  //code here should send to list view or edit view
>>>
>>          }
>>>
>>
>> At the end of the event you can send the user to the list view or another
>> view using a forward or redirect.
>>
>>
>> In your edit form you have
>>
>>> objectName"{eventItem}"
>>>
>> missing the = between them
>>
>>> objectName = "{eventItem}"
>>>
>>
>>
>> I'm not 100% sure if that is the reason why your edit isn't working -
>> there
>> should be more debug information.
>> If you want your edit to load the information the field it maps to,
>> add the
>> value:
>>
>>> <f:form.textfield id="title" property="title" size="46" />
>>>
>> to
>>
>>> <f:form.textfield id="title" value="{title}" property="title"
>>> size="46" />
>>>
>>
>> Hopefully that helps.
>> Richard
>>
>> On 23 February 2015 at 18:46, Vikram <vikram at fivee.in> wrote:
>>
>>> Hi Richard,
>>>
>>> Thanks for responding .. here is the fluid template code:
>>> http://www.codeshare.io/N3uU6
>>>
>>> regards
>>> Vikram
>>>
>>>
>>> On 02/23/2015 02:32 AM, Richard Davies wrote:
>>>
>>>> Hey Vikram,
>>>>
>>>> Can you show us the section of the fluid template in which you
>>>> create the
>>>> link / form to the edit action?
>>>>
>>>> Richard
>>>>
>>>> On 22 February 2015 at 01:02, Vikram <vikram at fivee.in> wrote:
>>>>
>>>>   Hi,
>>>>>
>>>>> I am trying to edit and add Tx_RoqNewsevent_Domain_Model_Event records
>>>>> from frontend.
>>>>>
>>>>> Tx_RoqNewsevent_Domain_Model_Event extends tx_news and it adds fews
>>>>> fields.
>>>>>
>>>>> While listing works fine but
>>>>>
>>>>> But in my add action I get error:
>>>>>    Required argument "eventItem" is not set
>>>>>
>>>>>
>>>>> In edit action I get:
>>>>> An error occurred while trying to call ..Controller\EventsController-
>>>>>
>>>>>> editAction().
>>>>>>
>>>>>
>>>>> Any suggestion where i must look?
>>>>>
>>>>> The code works fine if i use news objects. but then i am not able
>>>>> to set
>>>>> values to fields added by Roq_Newsevent
>>>>>
>>>>> ---my controller code---
>>>>> <?php
>>>>> namespace T3IN\T3inEvents\Controller;
>>>>>
>>>>> /**
>>>>>    * EventsController
>>>>>    */
>>>>> class EventsController extends \TYPO3\CMS\Extbase\Mvc\
>>>>> Controller\ActionController
>>>>> {
>>>>>
>>>>>           /**
>>>>>            * eventRepository
>>>>>            *
>>>>>            * @var Tx_RoqNewsevent_Domain_Repository_EventRepository
>>>>>            * @inject
>>>>>            */
>>>>>           protected $eventRepository;
>>>>>
>>>>>           /**
>>>>>            * action list
>>>>>            * @return void
>>>>>            */
>>>>>           public function listAction() {
>>>>>                   $eventRecords = $this->eventRepository->findAll();
>>>>>                   $this->view->assign('eventRecords', $eventRecords);
>>>>>           }
>>>>>
>>>>>
>>>>>           /**
>>>>>            * action edit
>>>>>            * @param Tx_RoqNewsevent_Domain_Model_Event $eventItem
>>>>>            * @return string
>>>>>            */
>>>>>           public function
>>>>> editAction(Tx_RoqNewsevent_Domain_Model_Event
>>>>> $eventItem) {
>>>>>                   $this->view->assign('eventItem', $eventItem);
>>>>>
>>>>>           }
>>>>>
>>>>>           /**
>>>>>            * action add
>>>>>            * @param Tx_RoqNewsevent_Domain_Model_Event $eventItem
>>>>>            * @return string
>>>>>            */
>>>>>           public function addAction(Tx_RoqNewsevent_Domain_Model_Event
>>>>> $eventItem) {
>>>>>                   $this->view->assign('eventItem', $eventItem);
>>>>>           }
>>>>>
>>>>> }
>>>>>
>>>>>
>>>>> --
>>>>> regards
>>>>> Vikram Mandal
>>>>> --
>>>>> FiveE Technologies.
>>>>> http://FiveEtechnologies.com
>>>>> _______________________________________________
>>>>> TYPO3-english mailing list
>>>>> TYPO3-english at lists.typo3.org
>>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-english
>>>>>
>>>>>
>>>
>>> --
>>> regards
>>> Vikram Mandal
>>> --
>>> FiveE Technologies.
>>> http://FiveEtechnologies.com
>>>
>>> _______________________________________________
>>> TYPO3-english mailing list
>>> TYPO3-english at lists.typo3.org
>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-english
>>>
>
>


-- 
regards
Vikram Mandal
--
FiveE Technologies.
http://FiveEtechnologies.com



More information about the TYPO3-english mailing list