Menu Module Page Brique Table simple Table complexe Edition Mes ajouts
Obliquid ?
  est un C.M.S.P.G.C.

Vous trouverez un livre blanc sur les CMS sur le site :
www.cms-quebec.com
 
Menu
Module
Page
Brique
Table simple
Table complexe
Explication
Création de la table
Déclaration
Les fichiers
Le module
Page recherche
Le menu
Le sous-menu
Page modification
Edition
Mes ajouts
 
Version : 0.0.11
 
Explication
 
Le but de ce menu est de vous guider étape par étape pour la gestion d'un table contenant plusieurs colonnes.
Ce type de table est trés fréquante dans les applications.
Mon choix va se porter sur une table simple, la table des commune de France, avec le code insée, le Code Postal, la commune.
 
Création de la table
 
Première étape créer dans mysql la table.

CREATE TABLE `sl_ville` (
`codeinsee` int(11) NOT NULL DEFAULT '0',
`codepostal` varchar(5) NOT NULL DEFAULT '',
`nom` varchar(50) NOT NULL DEFAULT '',
PRIMARY KEY (`codeinsee`),
KEY `CODEPOSTAL` (`codepostal`),
KEY `NOM` (`nom`)
) TYPE=MyISAM;

Vous pouvez télécharger cette table structure et données grace à ce lien le fichier est compressé pour un chargement plus rapide.

 
Déclaration
 
Deuxième étape déclaration des champ dans obliquid.

INSERT INTO `sl_tabledesc`
( `id_tabledesc` , `tablename` , `field` , `type` , `length` , `is_primary` )
VALUES
('', 'ville', 'codeinsee', 'integer', '5' , 'Y'),
('', 'ville', 'codepostal', 'text', '5' , 'N'),
('', 'ville', 'nom', 'text', '50', 'N');

La décaration dans obliquid est obligatoire afin de pouvoir lier une table de notre base à un formulaire, seul le champ index primaire est déclaré.
Aprés un chargement direct dans les tables sans passer par le progiciel il est préférable de vérifier les index.

  • Menu 'Outils de développement'.
  • Sous-menu 'Vérifier les ordres de base de donnée'.
  • Puis le bouton 'Corriger les erreurs de séquence'.
 
Les fichiers
 
Pour réaliser l'ensemble des traitements (Consultation, modification, suppression, recherche) sur cette table nous allons créer deux pages.
La page de recherche consultation.
La page de modification, suppression.
Elles font partie du module ville que nous allons créer, ainsi que plusieurs briques logicielle pour les traitements, sans oublier les templates pour l'affichage.
 
Le module
 
Création du module, vous trouverez des copies d'écrans dans le menu 'Module'.
Les étapes à suivre :
  • Dans le menu 'Configuration du site.'
  • En bas de la page 'Ajouter un nouveau module'.
  • Renseigner :
    • le nom du module : ville
    • la descrition : Gestion de la table des communes
    • la version : 0.1
  • Sauvegarder les informations
Le nouveau module est maintenant créé.
Les répertoires /local/pagexml/ville, /local/pages/ville et /local/templates/ville sont créés vide.
 
Page recherche
 

Création de la page de recherche.

Les étapes à suivre :
  • Dans le menu 'Configuration du site.'
  • En bas de la page 'Ajouter une nouvelle page'.
  • Renseigner :
    • le nom du module, dans la liste déroulante choisir : ville
    • Nom de la page : ville_home
    • Emplacement des fenêtre de template : local
    • Nom des fenêtre de template : frame
    • descrition : Page pour la recherche sur les communes
    • Sauvegarder les informations
    La page est maintenant créé.
    Le répertoire /local/pagexml/ville contient le fichier home.xml créé vide.

Affectation de la sécurité de la page de recherche.

Les étapes à suivre :
  • Valider le lien ' Configuration de la sécurité'
  • Choisir 'Tout le monde' dans la liste de gauche.
  • Cliquer sur le bouton [>>]
  • 'Tout le monde' est transféré dans la liste de droite.
  • Sauvegarder les informations

Affectation des briques logicielles

Ajout de la barre de menu.

Renseignement à ajouter dans le block 'Ajouter un nouvel emplacement à la page' :
  • Name : core/nav.
  • PHP : common .
  • TPL : common.
  • BLOCK : nome.
  • POSITION : Center et 1
  • NAME_PHP : (vide), sauf si l'on désire utiliser un fichier PHP autre que celui par défaut.
  • NAME_TPL : (vide) , idem pour le template.
  • Sauvegarder les informations
Le fichier /local/pagexml/ville/home.xml est mis à jour, ainsi que l'affichage de l'écran.

Ajout de la brique de login.

Renseignement à ajouter dans le block 'Ajouter un nouvel emplacement à la page' :
  • Name : user/login.
  • PHP : common .
  • TPL : common.
  • BLOCK : title.
  • POSITION : Left et 2
  • NAME_PHP : (vide), sauf si l'on désire utiliser un fichier PHP autre que celui par défaut.
  • NAME_TPL : (vide) , idem pour le template.
  • Sauvegarder les informations

Ajout d'un sous-menu.

Renseignement à ajouter dans le block 'Ajouter un nouvel emplacement à la page' :
  • Name : ville/index.
  • PHP : local .
  • TPL : local.
  • BLOCK : title.
  • POSITION : Left et 2
  • NAME_PHP : (vide), sauf si l'on désire utiliser un fichier PHP autre que celui par défaut.
  • NAME_TPL : (vide) , idem pour le template.
  • Sauvegarder les informations
Noubliez pas de mettre à jour la sécurité de la brique en cliquant sur .
Si les fichiers n'existent pas, ils seront créés soit :
  • /local/pages/ville/home.php : qui contient la fonction pour le traitement du sous-menu.
  • /local/templates/ville/home.tpl : Affichage du sous-menu

Création d'un fichier /local/navxml/ville.xml contenant :

<?xml version="1.0" encoding="UTF-8"?>
<!-- $Id: localnavxml/ville.xml,v 0.1 2004/09/09 chautard Exp $ -->
<NAVOBJECTS>
 <NAV PAGE="ville_home" ORD="10">
  <THEME NAME="*default*">
   <TEXT>Administration des communes</TEXT>
  </THEME>
 </NAV>
 <NAV PAGE="ville_mod" ORD="30">
  <THEME NAME="*default*">
   <TEXT>Création d'une commune</TEXT>
  </THEME>
 </NAV>
</NAVOBJECTS>

Le code contenu dans le fichier /local/pages/ville/index.php.

<?php
/** Gestion du sous-menu pour les villes.
 * @version 0.1
 * @date 2004/09/09
 * @author chautard patrick.chautard@cg94.fr
 * @package        ville
 * @example navxml/ville.xml
 * @see Voir le fichier navxml/ville.xml contenu dans l'exemple
    pour information sur le contenu du sous-menu.
 */


/** Get the common parse functions for NAV */
require_once "common/classes/obliquid/nav.php";

/** Gestion du sous-menu pour les villes. */
function ville_index_()
{
  global $_obweb;

    $nav = & new nav();
    $links = $nav->getNav("ville");    //Get the array for the icons

    //Now assign them for the template, and we are done
    $_obweb->smslot->assign("links", $links);
        $_obweb->smblock->assign("title", _l("Commune"));
}
?>

Le code contenu dans le fichier /local/templates/ville/index.tpl.

{{* $Id: index.tpl,v 0.1 2004/09/09 chautard Exp $ *}}
<table>
{{foreach from=$links item=alink}}
<tr><td>
{{if $alink[2] eq "*none*"}}
<a href="{{$alink[0]}}" class="textmini">{{$alink[1]}}</a>
{{else}}
<a href="{{$alink[0]}}" class="textmini">
<img src="{{$alink[2]}}" width="16" height="16" border="0">&nbsp;{{$alink[1]}}</a>
{{/if}}
</td></tr>
{{/foreach}}
</table>

PARTIE ANNEXE  
Quelques sites utiles et utilisés : Quelques documentations sommaires extraites de www.programmez.com

Je ne suis pas un gourou PHP, TPL ou Obliquid, mais si des informations vous manquent sur ce CMS n'exitez pas à m'envoyer un mail.