[TYPO3-project-formidable] Fwd: conditional appearance & others questions

Jerome Schneider j.schneider at ameos.com
Fri Jul 13 16:06:22 CEST 2007


Oh, forgot to answer for "how to list multiple tables".

For complete exemples, please see:

http://www.ameos.com/formidable/features/new-concept-for-listsearch.html
AND
http://www.ameos.com/formidable/features/new-cached-lists-concept.html

You have access to the source-xml at the bottom of each page.

*Note:* these exemples assume that you're using the latest SVN revision, 
that you can catch here:
http://www.ameos.com/fileadmin/formidable/builds/svn/svn-rev-0076-ameos_formidable.zip

Best regards,
Jerome Schneider


Jerome Schneider a écrit :
> Hello Aurelien,
> 
> 1 - first, an easyier way to build dynamic data:
> 
> Your userobj'PHP code for building dynamic data for a radiogroup works, 
> but you can do the same in a simpler way, like this:
> 
> <userobj>
>     <php><![CDATA[
> 
>     return $GLOBALS["TYPO3_DB"]->exec_SELECTgetRows(
>         "uid as value, access_name as caption",
>         "tx_manageguest_access_to_service",
>         "pid=83"
>     );
> 
>     ]]></php>
> </userobj>
> 
> 
> 
> 
> 
> 
> 2 - Displaying a renderlet when choosing an item in radio list
> 
> Or, more generaly, executing something when the user do something
> We're talking about event handling there.
> See http://wiki.typo3.org/index.php/Formidable_documentation#Events
> And http://www.ameos.com/formidable/features/events.html
> 
> 
> So basically:
>     1 - you need to place an event on the onchange for the list of choice
>     2 - the event will check if the selected value is "other", and if it 
> is, will display the box containg your checbox, otherwise hidden
> 
> Note: the event management is not complete on renderlet:RADIOBUTTON for 
> the moment, so you'll have to use a LISTBOX instead, as in the following 
> example :
> 
> <renderlet:LISTBOX name="radiolist" label="How many do you want ?">
>   <data>
>     <items>
>       <item caption="One" value="one" />
>       <item caption="Two" value="two" />
>       <item caption="Three" value="three" />
>       <item caption="More" value="more" />
>     </items>
>   </data>
>   <onchange runat="ajax" params="radiolist" cached="true">
>     <userobj>
>       <php><![CDATA[
> 
>     $aParams = func_get_arg(1);
> 
>     if($aParams["radiolist"] === "more") {
>       return $this->aORenderlets["container_more"]->majixDisplayBlock();
>     } else {
>       return $this->aORenderlets["container_more"]->majixDisplayNone();
>     }
> 
>       ]]></php>
>     </userobj>
>   </onchange>
> </renderlet:LISTBOX>
> 
> <renderlet:BOX name="container_more" custom=" style='display: none;' ">
>   <childs>
>     <renderlet:BOX html="This is displayed when 'More' is selected" 
> mode="h2" />
>     <renderlet:CHECKSINGLE name="checkbox_autre" label="I want a lot 
> more !" />
>   </childs>
> </renderlet:BOX>
> 
> 
> 
> 
> 
> 
> 3 - Validation of required fields
> 
> You have to use validators inside your renderlets
> See http://wiki.typo3.org/index.php/Formidable_documentation#Validators
> 
> 
> 
> 
> 
> Hope this helps, and welcome to the community :)
> 
> Jerome Schneider
> 
> Aurélien Allienne a écrit :
>> Hi,
>>
>> I begin with FORMidable and I think it's a great tools :)
>>
>> But in my training, i have some questions with no responses :
>>
>> First :
>> I have a RADIOBUTTON like this :
>> <renderlet:RADIOBUTTON name="access" label="Service :">
>>                        <data>
>>                        <userobj>
>>                        <php><![CDATA[
>>                                $res =
>> $GLOBALS['TYPO3_DB']->exec_SELECTquery('uid,access_name','tx_manageguest_access_to_service', 
>>
>> 'pid=83');
>>                                $aItems = array();
>>                                while($row =
>> $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
>>                                        $aItems[] = array(
>>                                                "caption" =>
>> $row["access_name"],
>>                                                "value" => $row["uid"]
>>                                        );
>>                                }
>>                                return $aItems;
>>                        ]]></php>
>>                        </userobj>
>>                        <items>
>>                                <item caption="Autres" value="autres"/>
>>                        </items>
>>                        </data>
>>                </renderlet:RADIOBUTTON>
>>
>>
>> And I would like when a click on the "Autres"  RADIOBUTTON, a  
>> checkbox will
>> be show. It's possible and how?
>>
>> Then, I want to load some information for differents tables and show 
>> then in
>> a list. So i make a request on 2 tables and don't know how I can show the
>> result in a listener form.
>>
>> Finally, I use the RAW attribute to make my treatment in the PHP 
>> class. But
>> how can I show a message to the user, like the required message ?
>>
>> Regards
>>
>> Aurélien Allienne


More information about the TYPO3-project-formidable mailing list