Experimente mit Formulargeneratoren

Beschreibung

Dies ist eine Extension zum Experimentieren mit Formulargeneratoren

Version 0.0.0 - ameos_formidable

 

Include:

// FORMidable declaration
require_once(t3lib_extMgm::extPath('ameos_formidable').'api/class.tx_ameosformidable.php');

FE Plugin

$this->oForm = t3lib_div::makeInstance("tx_ameosformidable");
$this->oForm->init(
   $this,
   t3lib_extmgm::extPath($this->extKey) . "xml/form1.xml",
   2    // uid of the record to edit ( if edition needed ;)
);
$content = $this->oForm->render();

templates/form.htm

<!-- ###FORM### begin-->

<table border = "0" cellpadding = "10" bgcolor = "lavender" style = "border: 2px dashed purple">
    <tr>
        <td colspan = 3></td>
    </tr>
    <tr>
        <td>{username}</td>
        <td>{password}</td>
        <td></td>
    </tr>
    <tr>
        <td>{price}</td>
        <td>{leaders}</td>
        <td>{submit}</td>
    </tr>

</table>

<!-- ###FORM### end-->

XML - ist nicht sinnvoll und nur test

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<formidable version="0.6.0">

  <meta>
    <name>Create/edit an FE user</name>
    <debug>true</debug>
    <displaylabels>true</displaylabels>
  </meta>

  <control>
    <datahandler:DBMM>
      <tablename>fe_users</tablename>
      <keyname>uid</keyname>
      <labelname>title</labelname>
    </datahandler:DBMM>

    <renderer>
      <type>TEMPLATE</type>
      <formid>demoform</formid>
      <template>
        <subpart>###FORM###</subpart>
        <path>EXT:rsys_forms/templates/form.html</path>
        <errortag>errors</errortag>
      </template>
    </renderer>

  </control>

  <elements>
    <renderlet:TEXT name="username" label="User name" />
    <renderlet:PASSWORD name="password" label="Password" />
    <renderlet:SUBMIT name="submit" label="Submit" />
    <renderlet:LISTBOX name="leaders">
      <label>Leaders</label>
      <data>
        <userobj>
          <extension>this</extension>
          <method>populateListSpeakers</method>
        </userobj>
      </data>
    </renderlet:LISTBOX>

    <renderlet:LISTBOX name="price">
      <data>
        <userobj>
          <extension>this</extension>
          <method>_populateFromGlossary</method>
        </userobj>
      </data>
      <validators>
        <validator:STANDARD>
          <userobj>
            <extension>this</extension>
            <method>isValidPriceSelected</method>
            <message>
              LLL:EXT:seminars/pi1/locallang.php:message_choosePrice
            </message>
          </userobj>
        </validator:STANDARD>
      </validators>
      <process>
        <userobj>
          <extension>this</extension>
          <method>_populateFromGlossary</method>
          <params>
            <data name="elementname" value="price" />
          </params>
        </userobj>
      </process>
    </renderlet:LISTBOX>

  </elements>

</formidable>