[TYPO3-mvc] use object-data in formhandler

Sebastian Schreiber me at schreibersebastian.de
Tue Jul 26 22:18:31 CEST 2011


Hi Johannes,
yes, you are right regarding the naming.
I think we have a missing link between all the pieces.
Everything looks good.

Just to be sure:
The teaseritem is set and assigend in your fluid template?

If this is the case could you please try to create an independent 
Formhandler TS-Object like the following way:
lib.formhandler < plugin.tx_formhandler_pi1
lib.formhandler.settings {
    templateFile = fileadmin/formhandler/template.html
    preProcessors {
         1.class = Tx_Formhandler_PreProcessor_LoadDefaultValues
         1.config {
            1 {
                             ttitle.defaultValue = TEXT
                             ttitle.defaultValue.field = title
            }
        }
    }
}

Be aware that you have to change your path of the typoscriptObjectPath 
in the fluidTemplate to lib.formhandler.



Am 26.07.2011 22:05, schrieb Johannes C. Schulz - EnzephaloN IT-Solutions:
> No, this didn't helped.
> I'm a little bit confused about naming, so I corrected my formhandler-ts
> like this:
>
> plugin.Tx_Formhandler.settings.predef.default {
> [...]
>    preProcessors {
>      1.class = Tx_Formhandler_PreProcessor_LoadDefaultValues
>        1.config {
>          1 {
>            ttitle.defaultValue = TEXT
>            ttitle.defaultValue.field = title
>            tsubtitle.defaultValue = TEXT
>            tsubtitle.defaultValue.field = subtitle
>            tprice.defaultValue = TEXT
>            tprice.defaultValue.field = price
>          }
>       }
>    }
> [...]
>
> because I think the xxxx.defaultValue should be the "name" in
> formhandler-input and not the "value".
> <input type="hidden" name="formhandler[ttitle]" value="###value_ttitle###"
> />
>
> How I have to access the imported properties in my formhandler-templates?
>
> Best regards
> Johannes
>
> -----Ursprüngliche Nachricht-----
> Von: typo3-project-typo3v4mvc-bounces at lists.typo3.org
> [mailto:typo3-project-typo3v4mvc-bounces at lists.typo3.org] Im Auftrag von
> Sebastian Schreiber
> Gesendet: Dienstag, 26. Juli 2011 21:37
> An: TYPO3 v4 MVC project
> Betreff: Re: [TYPO3-mvc] use object-data in formhandler
>
> Hey Johannes,
> you just can´t use teaseritem.property you have to use only the
> propertyname.
> So change:
>
> value_ttitle.defaultValue.field = teaseritem.title
>
> to
>
> value_ttitle.defaultValue.field = title
>
>
>
>
> Am 26.07.2011 21:35, schrieb Johannes C. Schulz - EnzephaloN IT-Solutions:
>> Hey Sebastian
>>
>> I changed my files:
>>
>> Fluid-template:
>> [...]
>> <f:cObject typoscriptObjectPath="plugin.Tx_Formhandler"
> data="{teaseritem}"
>> />
>> [...]
>>
>> Formhandler-ts:
>> plugin.Tx_Formhandler.settings.predef.default { [...]
>>     preProcessors {
>>       1.class = Tx_Formhandler_PreProcessor_LoadDefaultValues
>>         1.config {
>>           1 {
>>             value_ttitle.defaultValue = TEXT
>>             value_ttitle.defaultValue.field = title
>>             value_tsubtitle.defaultValue = TEXT
>>             value_tsubtitle.defaultvalue.field = subtitle
>>             value_tprice.defaultValue = TEXT
>>             value_tprice.defaultValue.field = price
>>           }
>>        }
>>     }
>> [...]
>>
>> title, subtitle and price are properties of teaseritem
>>
>> But if I try:<input type="hidden" name="formhandler[ttitle]"
>> value="###value_ttitle###" />   the value keeps empty in output.
>>
>> I also tried value_ttitle.defaultValue.field = teaseritem.title, but
>> this also didn't worked.
>>
>> What's my failure?
>>
>> Best regards
>> Johannes C. Schulz
>>
>> -----Ursprüngliche Nachricht-----
>> Von: typo3-project-typo3v4mvc-bounces at lists.typo3.org
>> [mailto:typo3-project-typo3v4mvc-bounces at lists.typo3.org] Im Auftrag
>> von Sebastian Schreiber
>> Gesendet: Dienstag, 26. Juli 2011 20:04
>> An: TYPO3 v4 MVC project
>> Betreff: Re: [TYPO3-mvc] use object-data in formhandler
>>
>> Hi Johannes
>> try the following code:
>>
>> Your fluid template
>>
>> <f:cObject typoscriptObjectPath="plugin.Tx_Formhandler"
> data="{teaseritem}"
>> />
>>
>> Remove all the other things. This is redundant and a performance killer.
>> The parameter currentValueKey is not needed in your case.
>>
>>
>> Your typoscript:
>> [...]
>> preProcessors {
>>        1.class = Tx_Formhandler_PreProcessor_LoadDefaultValues
>>        1.config {
>>            1 {
>>                value_ttile.defaultValue = TEXT
>>                value_ttile.defaultValue.field = title // Or how does
>> you name this parameter?
>>                .....
>>            }
>>        }
>> }
>>
>> And should be fine.
>>
>>
>>
>>
>>
>>
>> Am 26.07.2011 19:06, schrieb Johannes C. Schulz - EnzephaloN IT-Solutions:
>>> Hi Sebastian
>>>
>>> It looked easier, than it is.
>>> I've made the following changes:
>>>
>>> the fluid-template of my extension:
>>> [...]
>>> <f:cObject typoscriptObjectPath="plugin.Tx_Formhandler"
>>> data="{teaseritem.title}" currentValueKey="ttitle" />   <f:cObject
>>> typoscriptObjectPath="plugin.Tx_Formhandler"
>>> data="{teaseritem.subtitle}" currentValueKey="tsubtitle" />
>>> <f:cObject typoscriptObjectPath="plugin.Tx_Formhandler"
>>> data="{teaseritem.price}" currentValueKey="tprice" />   [...]
>>>
>>> the typoscript-file of formhandler:
>>> plugin.Tx_Formhandler.settings.predef.default { [...] #cObject aus
>>> Teaserextension
>>>      preProcessors {
>>>        1.class = Tx_Formhandler_PreProcessor_LoadDefaultValues
>>>        1.config {
>>>            1 {
>>>              value_ttile.defaultValue = ttitle
>>>              value_tsubtitle.defaulTvalue = tsubtitle
>>>              value_tprice.defaultValue = tprice
>>>            }
>>>        }
>>>      }
>>> [...]
>>>
>>> And the formhandler-template:
>>> [...]
>>> <input type="hidden" name="formhandler[ttitle]"
> value="###value_ttitle###"
>>> />
>>> <input type="hidden" name="formhandler[tsubtitle]"
>>> value="###value_tsubtitle###" />
>>> <input type="hidden" name="formhandler[tprice]"
> value="###value_tprice###"
>>> />
>>> [...]
>>>
>>> But if I check the source in browser, the values are empty.
>>> Did I set the typoscriptObjectPath right?
>>> What is wrong?
>>>
>>> Best Regards
>>> Johannes C. Schulz
>>> __________________________________
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: typo3-project-typo3v4mvc-bounces at lists.typo3.org
>>> [mailto:typo3-project-typo3v4mvc-bounces at lists.typo3.org] Im Auftrag
>>> von Sebastian Schreiber
>>> Gesendet: Donnerstag, 21. Juli 2011 22:01
>>> An: TYPO3 v4 MVC project
>>> Betreff: Re: [TYPO3-mvc] use object-data in formhandler
>>>
>>> Hi Johannes,
>>> i think the easiest way to achieve it, is to use the cObjectViewHelper.
>>> Pass your object as the data parameter and use the preProcessors
>>> settings of the formhandler.
>>>
>>> Example:
>>> Fluid-Template:
>>> <f:cObject typoscriptObjectPath="lib.formhandler" data="{entry}"
>>> currentValueKey="title" />
>>>
>>> Your TS
>>> lib.formhandler<    plugin.tx_formhandler_pi1 lib.formhandler.settings {
>>>        templateFile = fileadmin/formhandler/template.html
>>>        preProcessors {
>>>             1.class = Tx_Formhandler_PreProcessor_LoadDefaultValues
>>>             1.config {
>>>                1 {
>>>                                 firstname.defaultValue = TEXT
>>>                                 firstname.defaultValue.field = title
>>> // Could be any accesible property of your domain model
>>>                }
>>>            }
>>>        }
>>> }
>>>
>>> Good luck.
>>>
>>>
>>> Am 21.07.2011 20:09, schrieb Johannes C. Schulz [EnzephaloN
> IT-Solutions]:
>>>>      Formhandler is extension that followed mailform plus.
>>>> If I add a formfield to my fluid-template, its outside of the
>>>> fieldset
>>> which is generated by formhandler. So it will not be processed.
>>>> Any other ideas?
>>>>
>>>>
>>>> Johannes C. Schulz
>>>>
>>>> Von Samsung Mobile gesendet
>>>>
>>>> Pankaj Lele<pankaj at lelesys.com>     hat geschrieben:
>>>>
>>>>> Hello Johannes,
>>>>>
>>>>>> Now I try to get an onject-data (like item.name) into a
>>>>>> formhandler-input-field.
>>>>> Not sure what the formhandler-plugin means. However if you looking
>>>>> for showing the object inside a form you can try following in the
>>>>> Fluid template of single view:
>>>>>
>>>>> <f:form name="myForm" action="someAction" object="{item}">
>>>>> <f:form.textfield property="name" />    </f:form>
>>>>>
>>>>> So in place of the line 2 above, you will see a text input with the
>>>>> value from item.name filled in.
>>>>>
>>>>> Hope that helps.
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> With best regards,
>>>>> Pankaj Lele
>>>>> ---------------------------
>>>>>
>>>>> CTO&     Executive Director
>>>>> Lelesys Infotech Pvt. Ltd.
>>>>> Pune/Goa, India
>>>>>
>>>>> Web: http://www.lelesys.com
>>>>>
>>>>> [Certified TYPO3 Integrator]
>>>>> _______________________________________________
>>>>> TYPO3-project-typo3v4mvc mailing list
>>>>> TYPO3-project-typo3v4mvc at lists.typo3.org
>>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-project-typo3
>>>>> v
>>>>> 4
>>>>> mvc
>>>>>
>>>> _______________________________________________
>>>> TYPO3-project-typo3v4mvc mailing list
>>>> TYPO3-project-typo3v4mvc at lists.typo3.org
>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-project-typo3v
>>>> 4
>>>> m
>>>> vc
>>> --
>>> Sebastian Schreiber
>>> (Medieninformatiker)
>>> (TYPO3 Certified Integrator)
>>>
>>> Sülzburgstraße 36
>>> D-50937 Köln
>>>
>>> T  0221 677 88 541
>>> M  0176 431 05 790
>>>
>>> Skype schreibersebastian.de
>>>
>>> me at schreibersebastian.de
>>> www.schreibersebastian.de
>>>
>>> Steuernummer: 219 / 5302 / 2302
>>>
>>> _______________________________________________
>>> TYPO3-project-typo3v4mvc mailing list
>>> TYPO3-project-typo3v4mvc at lists.typo3.org
>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-project-typo3v4
>>> m
>>> vc
>>>
>>>
>>> _______________________________________________
>>> TYPO3-project-typo3v4mvc mailing list
>>> TYPO3-project-typo3v4mvc at lists.typo3.org
>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-project-typo3v4
>>> m
>>> vc
>> --
>> Sebastian Schreiber
>> (Medieninformatiker)
>> (TYPO3 Certified Integrator)
>>
>> Sülzburgstraße 36
>> D-50937 Köln
>>
>> T  0221 677 88 541
>> M  0176 431 05 790
>>
>> Skype schreibersebastian.de
>>
>> me at schreibersebastian.de
>> www.schreibersebastian.de
>>
>> Steuernummer: 219 / 5302 / 2302
>>
>> _______________________________________________
>> TYPO3-project-typo3v4mvc mailing list
>> TYPO3-project-typo3v4mvc at lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-project-typo3v4m
>> vc
>>
>>
>> _______________________________________________
>> TYPO3-project-typo3v4mvc mailing list
>> TYPO3-project-typo3v4mvc at lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-project-typo3v4m
>> vc
>
> --
> Sebastian Schreiber
> (Medieninformatiker)
> (TYPO3 Certified Integrator)
>
> Sülzburgstraße 36
> D-50937 Köln
>
> T  0221 677 88 541
> M  0176 431 05 790
>
> Skype schreibersebastian.de
>
> me at schreibersebastian.de
> www.schreibersebastian.de
>
> Steuernummer: 219 / 5302 / 2302
>
> _______________________________________________
> TYPO3-project-typo3v4mvc mailing list
> TYPO3-project-typo3v4mvc at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-project-typo3v4mvc
>
>
> _______________________________________________
> TYPO3-project-typo3v4mvc mailing list
> TYPO3-project-typo3v4mvc at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-project-typo3v4mvc


-- 
Sebastian Schreiber
(Medieninformatiker)
(TYPO3 Certified Integrator)

Sülzburgstraße 36
D-50937 Köln

T  0221 677 88 541
M  0176 431 05 790

Skype schreibersebastian.de

me at schreibersebastian.de
www.schreibersebastian.de

Steuernummer: 219 / 5302 / 2302



More information about the TYPO3-project-typo3v4mvc mailing list