DEPRECATION WARNING

This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.

EXT:Ameos T3CON06

Author:Kasper Skårhøj
Created:2002-11-01T00:32:00
Changed by:Jérôme Schneider
Changed:2007-01-04T12:47:18
Author:Raphael GEYER
Email:typo3(at)ameos.com
Info 3:
Info 4:

EXT:Ameos T3CON06

Extension Key: ameos_t3con06

Copyright 2000-2002, Raphael GEYER - Typo3 Ameos , <typo3(at)ameos.com>

This document is published under the Open Content License

available from http://www.opencontent.org/opl.shtml

The content of this document is related to TYPO3

- a GNU/GPL CMS/Framework available from www.typo3.com

Table of Contents

EXT:Ameos Google Pagerank 1

Introduction 1

What does it do? 1

Screenshots 1

Users manual 1

Request 1

How does it work ? 1

What about the cache ? 2

Adminstration 2

Configuration 2

Known problems 2

To-Do list 2

Changelog 2

Introduction

What does it do?

This extension provides screen shots and code used at the T3CON06 presentation in Karlsruhe.

Screenshot

img-1

Plugin creation

First of all we create a basic plugin which will contain the xml and php code and the database structure :

#

# Table structure for table 'tx_ameost3con06_car'

#

CREATE TABLE tx_ameost3con06_car (

uid int(11) NOT NULL auto_increment,

pid int(11) DEFAULT '0' NOT NULL,

tstamp int(11) DEFAULT '0' NOT NULL,

crdate int(11) DEFAULT '0' NOT NULL,

cruser_id int(11) DEFAULT '0' NOT NULL,

manufacturer varchar(255) DEFAULT '' NOT NULL,

model varchar(255) DEFAULT '' NOT NULL,

releasedate int(11) DEFAULT '0' NOT NULL,

image varchar(255) DEFAULT '' NOT NULL,

colors varchar(255) DEFAULT '' NOT NULL,

likeit varchar(255) DEFAULT '' NOT NULL,

PRIMARY KEY (uid),

KEY parent (pid)

);

Step 1 (contained in pi1)

In the first step we will create a simple FORM using the default TEMPLATE

Screenshot

img-2

PHP init code

-2: <?php
-1: /***************************************************************
 0: *  Copyright notice
 1: *
 2: *  (c) 2006 Jerome Schneider <typo3dev@ameos.com>
 3: *  All rights reserved
 4: *
 5: *  This script is part of the TYPO3 project. The TYPO3 project is
 6: *  free software; you can redistribute it and/or modify
 7: *  it under the terms of the GNU General Public License as published by
 8: *  the Free Software Foundation; either version 2 of the License, or
 9: *  (at your option) any later version.
10: *
11: *  The GNU General Public License can be found at
12: *  http://www.gnu.org/copyleft/gpl.html.
13: *
14: *  This script is distributed in the hope that it will be useful,
15: *  but WITHOUT ANY WARRANTY; without even the implied warranty of
16: *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17: *  GNU General Public License for more details.
18: *
19: *  This copyright notice MUST APPEAR in all copies of the script!
20: ***************************************************************/
21:
22: require_once(PATH_tslib.'class.tslib_pibase.php');
23:
24: class tx_ameost3con06_pi1 extends tslib_pibase {
25:
26:     var $prefixId        = 'tx_ameost3con06_pi1';
27:     var $scriptRelPath    = 'pi1/class.tx_ameost3con06_pi1.php';
28:     var $extKey            = 'ameos_t3con06';
29:     var $oForm            = null;        // the form is a member property
30:
31:     function main($content,$conf)    {
32:         $this->conf=$conf;
33:         $this->pi_setPiVarDefaults();
34:         $this->pi_loadLL();
35:         $this->pi_USER_INT_obj=1;
36:
37:         $this->oForm = t3lib_div::makeInstance("tx_ameosformidable");
38:         $this->oForm->init(
39:             &$this,
40:             t3lib_extmgm::extPath($this->extKey) . "pi1/xml/step1.xml"
41:         );
42:
43:         return $this->pi_wrapInBaseClass(
44:             $this->oForm->render()
45:         );
46:     }
47: }
48:
49:
50:
51: if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/ameos_t3con06/pi1/class.tx_ameost3con06_pi1.php'])    {
52:     include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/ameos_t3con06/pi1/class.tx_ameost3con06_pi1.php']);
53: }
54:
55: ?>

HTML template

<!-- ###FORM### begin-->
<div class="cadre" style="display:{errors.cssdisplay}">
    <div class="cadretop"></div>
    <div class="cadremid">{errors}</div>
    <div class="cadrebottom"></div>
</div>
<div class="cadre">
    <div class="cadretop">
                <h1><img src="/fileadmin/templates/images/titre_back2.jpg" alt="" />Main Features</h1>
    </div>
    <div class="cadremid">
        <div class="items">
            <h2>{manufacturer.label}</h2>
            <p>{manufacturer.input}</p>
            <h2>{model.label}</h2>
            <p>{model.input}</p>
            <h2>{releasedate.label}</h2>
            <p>{releasedate.input}</p>
        </div>
        <div class="image">
            {image.imagetag}
        </div>
        <div class="clear">
        </div>
    </div>
    <div class="cadrebottom">
    </div>
</div>
<div class="cadre">
        <div class="cadretop">
            <h1><img src="/fileadmin/templates/images/titre_back2.jpg" alt="" />Options</h1>
        </div>
    <div class="cadremid">
        <h2>{image.label}</h2>
        <p>{image.input}</p>
        <h2>{colors.label}</h2>
        <table class="colors">
        <tr>
            <td class="red">{colors.red.label}</td>
            <td class="green">{colors.green.label}</td>
            <td class="blue">{colors.blue.label}</td>
            <td class="banana">{colors.banana.label}</td>
            <td class="silver">{colors.silver.label}</td>
            <td class="black">{colors.black.label}</td>
            <td class="white">{colors.white.label}</td>
        </tr>
        <tr>
            <td>{colors.red.input}</td>
            <td>{colors.green.input}</td>
            <td>{colors.blue.input}</td>
            <td>{colors.banana.input}</td>
            <td>{colors.silver.input}</td>
            <td>{colors.black.input}</td>
            <td>{colors.white.input}</td>
        </tr>
        </table>
    </div>
    <div class="cadrebottom"></div>
</div>
<div class="cadre"><p class="submit">{btnsubmit}</p></div>
<!-- ###FORM### end-->

XML configuration code

<formidable version="0.6.0">
    <meta>
        <name>Historique des inscriptions</name>
        <form formid="tx_ameost3con06_step1"/>
        <displaylabels>true</displaylabels>
        <debug>true</debug>
    </meta>
    <control>
        <datahandler:DB>
            <tablename>tx_ameost3con06_car</tablename>
            <keyname>uid</keyname>
            <labelname>model</labelname>
        </datahandler:DB>
        <renderer:STANDARD/>
    </control>
    <elements>
        <renderlet:LISTBOX name="manufacturer" label="Manufacturer *">
            <data>
                <items>
                    <item caption="BMW" value="BMW"/>
                    <item caption="Renault" value="RENAULT"/>
                    <item caption="Volkswagen" value="VOLKSWAGEN"/>
                    <item caption="Mercedes" value="MERCEDES"/>
                    <item caption="Peugeot" value="PEUGEOT"/>
                    <item caption="Nissan" value="NISSAN"/>
                    <item caption="Subaru" value="SUBARU"/>
                </items>
                <defaultvalue>PEUGEOT</defaultvalue>
            </data>
        </renderlet:LISTBOX>
        <renderlet:TEXT name="model" label="Model *">
            <validators>
                <validator:STANDARD>
                    <required message="Model is required"/>
                </validator:STANDARD>
            </validators>
        </renderlet:TEXT>
        <renderlet:DATE name="releasedate" label="Release date">
            <data>
                <datetime format="%d/%m/%Y" locale="fr_FR" converttotimestamp="true"/>
            </data>
        </renderlet:DATE>
        <renderlet:FILE name="image" label="Image">
            <data>
                <targetdir>uploads/tx_ameost3con06/</targetdir>
                <includexml>EXT:ameos_formidable/res/shared/xml/imageprocess/shaded.xml</includexml>
            </data>
        </renderlet:FILE>
        <renderlet:CHECKBOX name="colors" label="Available colors">
            <data>
                <items>
                    <item caption="Red" value="red"/>
                    <item caption="Green" value="green"/>
                    <item caption="Blue" value="blue"/>
                    <item caption="Banana" value="banana"/>
                    <item caption="Silver" value="silver"/>
                    <item caption="Black" value="black"/>
                    <item caption="White" value="white"/>
                </items>
            </data>
        </renderlet:CHECKBOX>
        <renderlet:SUBMIT name="btnsubmit" label="Submit"/>
        <includexml>EXT:ameos_t3con06/res/xml/_sysfields.xml</includexml>
    </elements>
</formidable>

Step 2 (contained in pi2)

This time we will use an HTML template

Screenshot

img-3

PHP init code

-2: <?php
-1: /***************************************************************
 0: *  Copyright notice
 1: *
 2: *  (c) 2006 Jerome Schneider <typo3dev@ameos.com>
 3: *  All rights reserved
 4: *
 5: *  This script is part of the TYPO3 project. The TYPO3 project is
 6: *  free software; you can redistribute it and/or modify
 7: *  it under the terms of the GNU General Public License as published by
 8: *  the Free Software Foundation; either version 2 of the License, or
 9: *  (at your option) any later version.
10: *
11: *  The GNU General Public License can be found at
12: *  http://www.gnu.org/copyleft/gpl.html.
13: *
14: *  This script is distributed in the hope that it will be useful,
15: *  but WITHOUT ANY WARRANTY; without even the implied warranty of
16: *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17: *  GNU General Public License for more details.
18: *
19: *  This copyright notice MUST APPEAR in all copies of the script!
20: ***************************************************************/
21:
22: require_once(PATH_tslib.'class.tslib_pibase.php');
23:
24: class tx_ameost3con06_pi2 extends tslib_pibase {
25:
26:     var $prefixId        = 'tx_ameost3con06_pi2';
27:     var $scriptRelPath    = 'pi2/class.tx_ameost3con06_pi2.php';
28:     var $extKey            = 'ameos_t3con06';
29:     var $oForm            = null;        // the form is a member property
30:
31:     function main($content,$conf)    {
32:         $this->conf=$conf;
33:         $this->pi_setPiVarDefaults();
34:         $this->pi_loadLL();
35:         $this->pi_USER_INT_obj=1;
36:
37:         $this->oForm = t3lib_div::makeInstance("tx_ameosformidable");
38:         $this->oForm->init(
39:             &$this,
40:             t3lib_extmgm::extPath($this->extKey) . "pi2/xml/step2.xml"
41:         );
42:
43:         return $this->pi_wrapInBaseClass(
44:             $this->oForm->render()
45:         );
46:     }
47: }
48:
49:
50:
51: if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/ameos_t3con06/pi2/class.tx_ameost3con06_pi2.php'])    {
52:     include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/ameos_t3con06/pi2/class.tx_ameost3con06_pi2.php']);
53: }
54:
55: ?>

HTML lister template

<!-- ###FORM### begin-->
<div class="cadre" style="display:{errors.cssdisplay}">
    <div class="cadretop"></div>
    <div class="cadremid">{errors}</div>
    <div class="cadrebottom"></div>
</div>
<div class="cadre">
    <div class="cadretop">
                <h1><img src="/fileadmin/templates/images/titre_back2.jpg" alt="" />Main Features</h1>
    </div>
    <div class="cadremid">
        <div class="items">
            <h2>{manufacturer.label}</h2>
            <p>{manufacturer.input}</p>
            <h2>{model.label}</h2>
            <p>{model.input}</p>
            <h2>{releasedate.label}</h2>
            <p>{releasedate.input}</p>
        </div>
        <div class="image">
            {image.imagetag}
        </div>
        <div class="clear">
        </div>
    </div>
    <div class="cadrebottom">
    </div>
</div>
<div class="cadre">
        <div class="cadretop">
            <h1><img src="/fileadmin/templates/images/titre_back2.jpg" alt="" />Options</h1>
        </div>
    <div class="cadremid">
        <h2>{image.label}</h2>
        <p>{image.input}</p>
        <h2>{colors.label}</h2>
        <table class="colors">
        <tr>
            <td class="red">{colors.red.label}</td>
            <td class="green">{colors.green.label}</td>
            <td class="blue">{colors.blue.label}</td>
            <td class="banana">{colors.banana.label}</td>
            <td class="silver">{colors.silver.label}</td>
            <td class="black">{colors.black.label}</td>
            <td class="white">{colors.white.label}</td>
        </tr>
        <tr>
            <td>{colors.red.input}</td>
            <td>{colors.green.input}</td>
            <td>{colors.blue.input}</td>
            <td>{colors.banana.input}</td>
            <td>{colors.silver.input}</td>
            <td>{colors.black.input}</td>
            <td>{colors.white.input}</td>
        </tr>
        </table>
    </div>
    <div class="cadrebottom"></div>
</div>
<div class="cadre"><p class="submit">{btnsubmit}</p></div>
<!-- ###FORM### end-->

HTML search template

<!-- ###FORM### begin-->
        <div class="cadre">
    <div class="cadretop">
        <h1><img src="/fileadmin/templates/images/titre_back2.jpg" alt="" />Search Through Records</h1>
    </div>
    <div class="cadremid">
        <div style="float: left;">
            <h2>{manufacturer.label}</h2>
            {manufacturer.input}
        </div>
        <div style="margin-left: 400px;">
            <h2>{model.label}</h2>
            {model.input}
        </div>
        <div class="clear">
        </div>
        <h2>{colors.label}</h2>
        <table class="colors">
        <tr>
            <td class="red">{colors.red.label}</td>
            <td class="green">{colors.green.label}</td>
            <td class="blue">{colors.blue.label}</td>
            <td class="banana">{colors.banana.label}</td>
            <td class="silver">{colors.silver.label}</td>
            <td class="black">{colors.black.label}</td>
            <td class="white">{colors.white.label}</td>
        </tr>
        <tr>
            <td>{colors.red.input}</td>
            <td>{colors.green.input}</td>
            <td>{colors.blue.input}</td>
            <td>{colors.banana.input}</td>
            <td>{colors.silver.input}</td>
            <td>{colors.black.input}</td>
            <td>{colors.white.input}</td>
        </tr>
        </table>
    </div>
    <div class="cadrebottom">
    </div>
</div>
<div class="cadre"><p class="submit">{btnsubmit}</p></div>
<!-- ###FORM### end-->

XML configuration code

<formidable version="0.6.0">
    <meta>
        <name>Historique des inscriptions</name>
        <form formid="tx_ameost3con06_step2"/>
        <displaylabels>false</displaylabels>
        <debug>false</debug>
    </meta>
    <control>
        <datahandler:DB>
            <tablename>tx_ameost3con06_car</tablename>
            <keyname>uid</keyname>
            <labelname>model</labelname>
        </datahandler:DB>
        <renderer:TEMPLATE>
            <template>
                <path>EXT:ameos_t3con06/pi2/res/templates/template.html</path>
                <subpart>###FORM###</subpart>
                <errortag>errors</errortag>
            </template>
        </renderer:TEMPLATE>
    </control>
    <elements>
        <renderlet:LISTBOX name="manufacturer" label="Manufacturer *">
            <data>
                <items>
                    <item caption="BMW" value="BMW"/>
                    <item caption="Renault" value="RENAULT"/>
                    <item caption="Volkswagen" value="VOLKSWAGEN"/>
                    <item caption="Mercedes" value="MERCEDES"/>
                    <item caption="Peugeot" value="PEUGEOT"/>
                    <item caption="Nissan" value="NISSAN"/>
                    <item caption="Subaru" value="SUBARU"/>
                </items>
                <defaultvalue>PEUGEOT</defaultvalue>
            </data>
        </renderlet:LISTBOX>
        <renderlet:TEXT name="model" label="Model *">
            <validators>
                <validator:STANDARD>
                    <required message="Model is required"/>
                </validator:STANDARD>
            </validators>
        </renderlet:TEXT>
        <renderlet:DATE name="releasedate" label="Release date">
            <data>
                <datetime format="%d/%m/%Y" locale="fr_FR" converttotimestamp="true"/>
            </data>
        </renderlet:DATE>
        <renderlet:FILE name="image" label="Image">
            <data>
                <targetdir>uploads/tx_ameost3con06/</targetdir>
                <includexml>EXT:ameos_formidable/res/shared/xml/imageprocess/shaded.xml</includexml>
            </data>
        </renderlet:FILE>
        <renderlet:CHECKBOX name="colors" label="Available colors">
            <data>
                <items>
                    <item caption="Red" value="red"/>
                    <item caption="Green" value="green"/>
                    <item caption="Blue" value="blue"/>
                    <item caption="Banana" value="banana"/>
                    <item caption="Silver" value="silver"/>
                    <item caption="Black" value="black"/>
                    <item caption="White" value="white"/>
                </items>
            </data>
        </renderlet:CHECKBOX>
        <renderlet:IMAGE name="btnsubmit" label="Submit">
            <path>/fileadmin/templates/images/submit.jpg</path>
            <onclick>
                <submit/>
            </onclick>
            <custom>style=&quot;cursor:pointer;&quot;</custom>
        </renderlet:IMAGE>
    </elements>
</formidable>

Step 3 (contained in pi3)

Now

Screenshot

img-4

PHP init code

-2: <?php
-1: /***************************************************************
 0: *  Copyright notice
 1: *
 2: *  (c) 2006 Jerome Schneider <typo3dev@ameos.com>
 3: *  All rights reserved
 4: *
 5: *  This script is part of the TYPO3 project. The TYPO3 project is
 6: *  free software; you can redistribute it and/or modify
 7: *  it under the terms of the GNU General Public License as published by
 8: *  the Free Software Foundation; either version 2 of the License, or
 9: *  (at your option) any later version.
10: *
11: *  The GNU General Public License can be found at
12: *  http://www.gnu.org/copyleft/gpl.html.
13: *
14: *  This script is distributed in the hope that it will be useful,
15: *  but WITHOUT ANY WARRANTY; without even the implied warranty of
16: *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17: *  GNU General Public License for more details.
18: *
19: *  This copyright notice MUST APPEAR in all copies of the script!
20: ***************************************************************/
21:
22: require_once(PATH_tslib.'class.tslib_pibase.php');
23:
24: class tx_ameost3con06_pi3 extends tslib_pibase {
25:
26:     var $prefixId        = 'tx_ameost3con06_pi3';
27:     var $scriptRelPath    = 'pi3/class.tx_ameost3con06_pi3.php';
28:     var $extKey            = 'ameos_t3con06';
29:
30:     var $oForm            = null;        // the form is a member property
31:     var $oList            = null;        // the list is a member property
32:     var $sHtmlList        = null;        // the html of the list
33:
34:     function main($content,$conf)    {
35:         $this->conf=$conf;
36:         $this->pi_setPiVarDefaults();
37:         $this->pi_loadLL();
38:         $this->pi_USER_INT_obj=1;
39:
40: //        $this->oForm    = t3lib_div::makeInstance("tx_ameosformidable");
41:         $this->oList    = t3lib_div::makeInstance("tx_ameosformidable");
42:
43: /*        $this->oForm->init(
44:             &$this,
45:             t3lib_extmgm::extPath($this->extKey) . "pi2/xml/step2.xml"
46:         );
47: */
48:         $this->oList->init(
49:             &$this,
50:             t3lib_extmgm::extPath($this->extKey) . "pi3/xml/step3.xml"
51:         );
52:
53:         $sSearchForm = $this->oList->render();
54:
55:         return $this->pi_wrapInBaseClass(
56:             $sSearchForm . $this->sHtmlList
57:         );
58:     }
59: }
60:
61:
62:
63: if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/ameos_t3con06/pi3/class.tx_ameost3con06_pi3.php'])    {
64:     include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/ameos_t3con06/pi3/class.tx_ameost3con06_pi3.php']);
65: }
66:
67: ?>

HTML lister code

<!-- ###FORM### begin-->
    {tx_ameosafcompte_centre}<br />
    {etat}
<!-- ###FORM### end-->
<!-- ###LIST### begin-->
        <table cellpadding="0" cellspacing="0" border="0" class="lister">
            <tr>
                <th class="date"><!-- ###SORT_image### begin-->Picture<!-- ###SORT_image### end--></th>
                <th><!-- ###SORT_model### begin-->Model<!-- ###SORT_model### end--></th>
                <th><!-- ###SORT_manufacturer### begin-->Manufacturer<!-- ###SORT_manufacturer### end--></th>
                <th><!-- ###SORT_releasedate### begin-->Release date<!-- ###SORT_releasedate### end--></th>
                <th><!-- ###SORT_colors### begin-->Colors<!-- ###SORT_colors### end--></th>
                <th>Edit</th>
                <th>Delete</th>
            </tr>
    <!-- ###ROWS### begin-->
        <!-- ###ROW1### begin-->
            <tr class="row1">
                <td>{image}</td>
                <td>{model}</td>
                <td>{manufacturer}</td>
                <td>{releasedate}</td>
                <td>{colors}</td>
                <td>{lnk_edit}</td>
                <td>{lnk_delete}</td>
            </tr>
        <!-- ###ROW1### end-->
        <!-- ###ROWACT### begin-->
            <tr class="rowact">
                <td>{image}</td>
                <td>{model}</td>
                <td>{manufacturer}</td>
                <td>{releasedate}</td>
                <td>{colors}</td>
                <td>{lnk_edit}</td>
                <td>{lnk_delete}</td>
            </tr>
        <!-- ###ROWACT### end-->
    <!-- ###ROWS### end-->
    </table>
    <div class="pagin">
        <!-- ###LINKFIRST### begin--><a href = "{link}">First</a><!-- ###LINKFIRST### end-->
        <!-- ###LINKPREV### begin--><a href = "{link}">Prev</a><!-- ###LINKPREV### end-->
        <!-- ###PAGER### begin-->page {page}/{pagemax}<!-- ###PAGER### end-->
        <!-- ###LINKNEXT### begin--><a href = "{link}">Next</a><!-- ###LINKNEXT### end-->
        <!-- ###LINKLAST### begin--><a href = "{link}">Last</a><!-- ###LINKLAST### end-->
    </div>
<!-- ###LIST### end-->
        <!-- ###WINDOW### begin-->
            <!-- ###WINDOWLINKS### begin-->
                <!-- ###NORMAL### begin--><a href = "{link}">{page}</a><!-- ###NORMAL### end-->
                <!-- ###ACTIVE### begin--><a href = "{link}">{page}</a><!-- ###ACTIVE### end-->
            <!-- ###WINDOWLINKS### end-->
        <!-- ###WINDOW### end-->

HTML search code

<!-- ###FORM### begin-->
        <div class="cadre">
    <div class="cadretop">
        <h1><img src="/fileadmin/templates/images/titre_back2.jpg" alt="" />Search Through Records</h1>
    </div>
    <div class="cadremid">
        <div style="float: left;">
            <h2>{manufacturer.label}</h2>
            {manufacturer.input}
        </div>
        <div style="margin-left: 400px;">
            <h2>{model.label}</h2>
            {model.input}
        </div>
        <div class="clear">
        </div>
        <h2>{colors.label}</h2>
        <table class="colors">
        <tr>
            <td class="red">{colors.red.label}</td>
            <td class="green">{colors.green.label}</td>
            <td class="blue">{colors.blue.label}</td>
            <td class="banana">{colors.banana.label}</td>
            <td class="silver">{colors.silver.label}</td>
            <td class="black">{colors.black.label}</td>
            <td class="white">{colors.white.label}</td>
        </tr>
        <tr>
            <td>{colors.red.input}</td>
            <td>{colors.green.input}</td>
            <td>{colors.blue.input}</td>
            <td>{colors.banana.input}</td>
            <td>{colors.silver.input}</td>
            <td>{colors.black.input}</td>
            <td>{colors.white.input}</td>
        </tr>
        </table>
    </div>
    <div class="cadrebottom">
    </div>
</div>
<div class="cadre"><p class="submit">{btnsubmit}</p></div>
<!-- ###FORM### end-->

XML configuration code

<formidable version="0.6.0">
    <meta>
        <name>Historique des inscriptions</name>
        <form formid="tx_ameost3con06_step3"/>
        <displaylabels>false</displaylabels>
        <debug>false</debug>
    </meta>
    <control>
        <datahandler:LISTER>
            <tablename>tx_ameost3con06_car</tablename>
            <keyname>uid</keyname>
            <labelname>model</labelname>
            <callback>
                <userobj>
                    <php>                                               $aParams = func_get_args();                                             $this-&gt;_oParent-&gt;sHtmlList = $aParams[1][&quot;HTML&quot;];</php>
                </userobj>
            </callback>
            <template>
                <path>EXT:ameos_t3con06/pi3/res/templates/lister.html</path>
                <subpart>###LIST###</subpart>
                <errortag>errors</errortag>
            </template>
            <callback>
                <userobj>
                    <extension>this</extension>
                    <method>_setHTMLList</method>
                </userobj>
            </callback>
            <pager>
                <rows>
                    <perpage>4</perpage>
                    <alternate>###ROW1###</alternate>
                </rows>
                <nav>
                    <window>7</window>
                </nav>
            </pager>
        </datahandler:LISTER>
        <renderer:TEMPLATE>
            <template>
                <path>EXT:ameos_t3con06/pi3/res/templates/search.html</path>
                <subpart>###FORM###</subpart>
                <errortag>errors</errortag>
            </template>
        </renderer:TEMPLATE>
    </control>
    <elements>
        <renderlet:LISTBOX name="manufacturer" label="Manufacturer">
            <onchange>
                <refresh/>
            </onchange>
            <data>
                <items>
                    <item caption="" value=""/>
                    <item caption="BMW" value="BMW"/>
                    <item caption="Renault" value="RENAULT"/>
                    <item caption="Volkswagen" value="VOLKSWAGEN"/>
                    <item caption="Mercedes" value="MERCEDES"/>
                    <item caption="Peugeot" value="PEUGEOT"/>
                    <item caption="Nissan" value="NISSAN"/>
                    <item caption="Subaru" value="SUBARU"/>
                </items>
            </data>
        </renderlet:LISTBOX>
        <renderlet:TEXT name="model" label="Model"/>
        <renderlet:DATE name="releasedate" label="Release date">
            <data>
                <datetime format="%d/%m/%Y" locale="fr_FR" converttotimestamp="true"/>
            </data>
        </renderlet:DATE>
        <renderlet:FILE name="image" label="Image">
            <data>
                <targetdir>uploads/tx_ameost3con06/</targetdir>
                <includexml>EXT:ameos_formidable/res/shared/xml/imageprocess/shaded-w100.xml</includexml>
            </data>
        </renderlet:FILE>
        <renderlet:CHECKBOX name="colors" label="Available colors">
            <data>
                <items>
                    <item caption="Red" value="red"/>
                    <item caption="Green" value="green"/>
                    <item caption="Blue" value="blue"/>
                    <item caption="Banana" value="banana"/>
                    <item caption="Silver" value="silver"/>
                    <item caption="Black" value="black"/>
                    <item caption="White" value="white"/>
                </items>
            </data>
        </renderlet:CHECKBOX>
        <renderlet:IMAGE name="btnsubmit" label="Submit">
            <path>/fileadmin/templates/images/search.jpg</path>
            <onclick>
                <submit/>
            </onclick>
            <custom>style=&quot;cursor:pointer;&quot;</custom>
        </renderlet:IMAGE>
    </elements>
</formidable>

Step 4 (contained in pi4)

Screenshot

|img-1|

PHP init code

-2: <?php
-1: /***************************************************************
 0: *  Copyright notice
 1: *
 2: *  (c) 2006 Jerome Schneider <typo3dev@ameos.com>
 3: *  All rights reserved
 4: *
 5: *  This script is part of the TYPO3 project. The TYPO3 project is
 6: *  free software; you can redistribute it and/or modify
 7: *  it under the terms of the GNU General Public License as published by
 8: *  the Free Software Foundation; either version 2 of the License, or
 9: *  (at your option) any later version.
10: *
11: *  The GNU General Public License can be found at
12: *  http://www.gnu.org/copyleft/gpl.html.
13: *
14: *  This script is distributed in the hope that it will be useful,
15: *  but WITHOUT ANY WARRANTY; without even the implied warranty of
16: *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17: *  GNU General Public License for more details.
18: *
19: *  This copyright notice MUST APPEAR in all copies of the script!
20: ***************************************************************/
21:
22: require_once(PATH_tslib.'class.tslib_pibase.php');
23:
24: class tx_ameost3con06_pi4 extends tslib_pibase {
25:
26:     var $prefixId        = 'tx_ameost3con06_pi4';
27:     var $scriptRelPath    = 'pi4/class.tx_ameost3con06_pi4.php';
28:     var $extKey            = 'ameos_t3con06';
29:
30:     var $oForm            = null;        // the form is a member property
31:     var $oList            = null;        // the list is a member property
32:     var $sHtmlList        = null;        // the html of the list
33:
34:     function main($content,$conf)    {
35:         $this->conf=$conf;
36:         $this->pi_setPiVarDefaults();
37:         $this->pi_loadLL();
38:         $this->pi_USER_INT_obj=1;
39:
40:         $this->oForm    = t3lib_div::makeInstance("tx_ameosformidable");
41:         $this->oList    = t3lib_div::makeInstance("tx_ameosformidable");
42:
43:         $this->oList->init(
44:             &$this,
45:             t3lib_extmgm::extPath($this->extKey) . "pi4/xml/step4.xml"
46:         );
47:
48:         $this->oForm->init(
49:             &$this,
50:             t3lib_extmgm::extPath($this->extKey) . "pi2/xml/step2.xml"
51:         );
52:
53:         $sForm = $this->oForm->render();
54:         $sSearchForm = $this->oList->render();
55:
56:         return $this->pi_wrapInBaseClass(
57:             $sSearchForm . $this->sHtmlList . $sForm
58:         );
59:     }
60: }
61:
62:
63:
64: if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/ameos_t3con06/pi4/class.tx_ameost3con06_pi4.php'])    {
65:     include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/ameos_t3con06/pi4/class.tx_ameost3con06_pi4.php']);
66: }
67:
68: ?>

XML configuration code

<formidable version="0.6.0">
    <meta>
        <name>Historique des inscriptions</name>
        <form formid="tx_ameost3con06_step3"/>
        <displaylabels>false</displaylabels>
        <debug>false</debug>
    </meta>
    <control>
        <datahandler:LISTER>
            <tablename>tx_ameost3con06_car</tablename>
            <keyname>uid</keyname>
            <labelname>model</labelname>
            <callback>
                <userobj>
                    <php>                                               $aParams = func_get_args();                                             $this-&gt;_oParent-&gt;sHtmlList = $aParams[1][&quot;HTML&quot;];</php>
                </userobj>
            </callback>
            <template>
                <path>EXT:ameos_t3con06/pi3/res/templates/lister.html</path>
                <subpart>###LIST###</subpart>
                <errortag>errors</errortag>
            </template>
            <callback>
                <userobj>
                    <extension>this</extension>
                    <method>_setHTMLList</method>
                </userobj>
            </callback>
            <pager>
                <rows>
                    <perpage>4</perpage>
                    <alternate>###ROW1###</alternate>
                </rows>
                <nav>
                    <window>7</window>
                </nav>
            </pager>
        </datahandler:LISTER>
        <renderer:TEMPLATE>
            <template>
                <path>EXT:ameos_t3con06/pi3/res/templates/search.html</path>
                <subpart>###FORM###</subpart>
                <errortag>errors</errortag>
            </template>
        </renderer:TEMPLATE>
    </control>
    <elements>
        <renderlet:LISTBOX name="manufacturer" label="Manufacturer">
            <onchange>
                <refresh/>
            </onchange>
            <data>
                <items>
                    <item caption="" value=""/>
                    <item caption="BMW" value="BMW"/>
                    <item caption="Renault" value="RENAULT"/>
                    <item caption="Volkswagen" value="VOLKSWAGEN"/>
                    <item caption="Mercedes" value="MERCEDES"/>
                    <item caption="Peugeot" value="PEUGEOT"/>
                    <item caption="Nissan" value="NISSAN"/>
                    <item caption="Subaru" value="SUBARU"/>
                </items>
            </data>
        </renderlet:LISTBOX>
        <renderlet:TEXT name="model" label="Model"/>
        <renderlet:DATE name="releasedate" label="Release date">
            <data>
                <datetime format="%d/%m/%Y" locale="fr_FR" converttotimestamp="true"/>
            </data>
        </renderlet:DATE>
        <renderlet:FILE name="image" label="Image">
            <data>
                <targetdir>uploads/tx_ameost3con06/</targetdir>
                <includexml>EXT:ameos_formidable/res/shared/xml/imageprocess/shaded-w100.xml</includexml>
            </data>
        </renderlet:FILE>
        <renderlet:CHECKBOX name="colors" label="Available colors">
            <data>
                <items>
                    <item caption="Red" value="red"/>
                    <item caption="Green" value="green"/>
                    <item caption="Blue" value="blue"/>
                    <item caption="Banana" value="banana"/>
                    <item caption="Silver" value="silver"/>
                    <item caption="Black" value="black"/>
                    <item caption="White" value="white"/>
                </items>
            </data>
        </renderlet:CHECKBOX>
        <renderlet:IMAGE name="btnsubmit" label="Submit">
            <path>/fileadmin/templates/images/search.jpg</path>
            <onclick>
                <submit/>
            </onclick>
            <custom>style=&quot;cursor:pointer;&quot;</custom>
        </renderlet:IMAGE>
    </elements>
</formidable>

To-Do list

Changelog

06-10-2006 : TYCON06 presentation and first release

img-5 EXT:Ameos T3CON06 - 20

`Typo3 Ameos <http://www.ameos.com/>`_