TUTORIAL EN COURS DE CREATION ET DE REDACTION

Un CRUD avec CopixForm

Créons un module simple possédant un script d'install

Arborescence à créer :

  • crud_copix/actiongoups/default.actiongroup.php
  • crud_copix/install/scripts/install.pdo_mysql.sql
  • crud_copix/templates/crud.form.tpl
  • crud_copix/templates/crud.list.tpl
  • crud_copix/module.xml

module.xml contiendra la description de notre module

<?xml version="1.0"?>
<moduledefinition>
 <general>
  <default name="crud_copix" description="CRUD avec CopixFORM" />
 </general>
</moduledefinition>

install.pdo_mysql.sql contiendra la requete de creation de la table

CREATE TABLE `tutorial_crud_copix` (
 `id_crud` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
 `caption_crud` VARCHAR( 20 ) NOT NULL ,
 `description_crud` TEXT NOT NULL
) CHARACTER SET utf8;

notre action 'default.actiongroup.php' contient juste les appels a nos templates

class ActionGroupDefault extends CopixActionGroup {

    public function processDefault () {
        return _arPpo ( new CopixPPO ( array('TITLE_PAGE'=>'Liste des élements')), 'crud.list.tpl');
    }

    public function processForm () {
        return _arPpo ( new CopixPPO( array('TITLE_PAGE'=>'Edition de notre element')), 'crud.form.tpl' );
    }

}

crud.list.tpl utilise la librairie CopixList? en lui spécifiant qu'il doit utiliser la dao (automatique) crud_copix, qu'il doit faire affichage de 10 elements par 10 elements, et que l'url pour l'edition est crud_copixform De plus on rajoute un bouton nouveau pour pouvoir gérer la création d'elements

{copixlist list='crud_copix_list' dao='crud_copix' editUrl='crud_copix||form' max=10}
<a href="{copixurl dest="crud_copix||form"}"><img src="{copixresource path="img/tools/new.png"}" />Nouveau</a>

crud.form.tpl, lui nous affiche le formulaire grace a CopixForm. Nous commencons par le start qui créera les formulaires en lui associant la dao crud_copix. L'url au moment de la validation correspond a la propriété action, Nous spécifions le mode edit pour pouvoir arriver directement en mode edition. (si il n'est pas indiqué nous arrivons en mode consultation et un bouton editer nour permet d'etre en mode edition) Ensuite, nous créons les champs en specifiant le champ et le type de champ Puis nous fermons le formulaire.

{copixform_start form="crud_copix" dao="crud_copix" action='crud_copix||' mode='edit'}

Caption : {copixform_field field='caption_crud' type='varchar'}<br />

Description : {copixform_field field='description_crud' type='textbox'}<br />

{copixform_end}

Et voila, c'est fini, la prochaine fois nous verrons comment gérer des méthodes de validation personalisé, puis nous verrons l'utilisation de formulaire sans dao ni autre datasource.