Une classe de gestion de categorie avec descendant et avec la possibilite d'avoir du multi langue


Accueil > Contribution

 

Classe du framework - C_categorie_multicritere

La classe C_categorie_multicritere comme je la nomme est une classe de gestion de catégorie.

Nous avons vu une classe de gestion de texte (réf C_texte) indexer par un keyword et bien cette classe sera paramétrer de la même manière

La classe C_categorie_multicritere est une classe qui permet de faire des catégories, des sous-catégories, des sous-sous-catégories et ainsi de suite. Elle permet la création d’une infinité de descendant

Nous utiliseront le terme mère pour définir la catégorie supérieur à celle courante et fille pour la catégorie qui est le descendant d’une mère

Vous avez du voir souvent des menus qui contenait des catégories de produit, dans des formulaires, les champs de sélection contenir différente catégorie et sous catégorie, notre classe C_categorie_multicritere gère tout cela.

Portons la réflexion sur le faite de déterminer ce qui est nécessaire à une catégorie. Nous savons que si nous avons besoin d’avoir un site en plusieurs langues, on va utiliser la gestion avec la C_langue et la classe C_texte afin de garantir l’homogénéité du code. Donc faisons ainsi, notre catégorie est définie par le cate_id qui lui sera affecté lors de l’insertion de la catégorie dans la table. Maintenant si on a un site qui a deux langues le contenu ne doit pas se trouver dans la table des catégories mais dans la table des textes. On va donc utiliser des keywords dans la t_texte afin d’avoir notre catégorie identifier et avec comme identifiant de valeur le cate_id

Donc notre table sera de la forme :

CREATE TABLE `t_categorie_multicritere` (
`cate_id` int (11) NOT NULL auto_increment,
`cate_referant` int (11) NOT NULL default '0',
`cate_affiche` int (2) NOT NULL default '0',
`cate_order` int (11) NOT NULL default '0',
PRIMARY KEY (`cate_id`)
)

La table contient un enregistrement qui représente les informations d'une catégorie. le cate_id est le numéro de la catégorie (unique), le cate_referant est l'indice de son parent (mère). Le cate_affiche permet de gérer l'affichage de la catégorie et le cate_order permet de ranger les catégories dans un ordre.

Maintenant imaginons que nous avons plusieurs catégorie dans un site (les villes avec les départements et une liste de catégorie de produit, la nous aurions eu besoin de plusieurs tables afin de stocker les informations de catégorie. la C_categorie_multicritere permet d’enregistrer différentes catégorie grâce à des keywords dans la table T_categorie_multicritere

Il suffirait de rajouter le champ cate_origin_type afin d’avoir une catégorie paramétrer suivant un type de catégorie

Fonctionnement

Donc pour revenir à la classe de catégorie, votre classe va devoir créer un enregistrement qui va renseigner les informations qui sont contenu pour un enregistrement à savoir:

  • le référant si c'est la première catégorie c'est à dire la "mère" (par exemple le nom d'une ville). Le référant devra contenir le même numéro que l'indice de cate_id permettant ainsi de savoir que la mère a le même ID référant que le Cate_id.

Les deux autres paramètres permettraient à l'administrateur si vous le vouliez de gérer l'affichage de la catégorie et de gérer l'ordre de la catégorie.

La classe C_categorie_multicritere doit bien sur détenir les méthodes pour une gestion de catégorie (ajout, modification, suppression, ordre, affichage)

D’autre méthode peuvent être ajouté afin d’avoir des listes de catégories sous forme de tableau ou qui génère les options enfin d’autre méthode qui vous permettront de créer ce qui vous sera nécessaire pour la réalisation de votre site internet

Par rapport à la t_texte on définira le text_origin_id étant le cate_id et le text_origin_type étant le type de notre catégorie (VILLE, PRODUIT,…)

 


Restaurant japonais - Restaurant chinois - Restaurant thailandais - Restaurant italien - Restaurant marocain - Restaurant francais - Voyage Kyoto - Voyage Caraibes - Weather Tokyo - Location riad marrakech