Ex plugin classique : Différence entre versions

De TheliaDoc
Aller à : navigation, rechercher
Ligne 75 : Ligne 75 :
  
 
Détaillons maintenant chaque méthode.
 
Détaillons maintenant chaque méthode.
 +
  
 
<pre>
 
<pre>
Ligne 84 : Ligne 85 :
 
</pre>
 
</pre>
  
Cette méthode permet de charger un commentaire de la bdd via son identifiant.
+
Cette méthode permet de charger un commentaire de la bdd via son identifiant.
 +
 
 +
 
 +
<pre>
 +
function init(){
 +
 +
$cnx = new Cnx();
 +
$query_commentaires = "CREATE TABLE `commentaires` (
 +
  `id` int(11) NOT NULL auto_increment,
 +
  `nom` text NOT NULL,
 +
  `message` text NOT NULL,
 +
  `ref` text NOT NULL,
 +
  `date` datetime NOT NULL,
 +
  PRIMARY KEY  (`id`)
 +
) AUTO_INCREMENT=1 ;";
 +
$resul_commentaires = mysql_query($query_commentaires, $cnx->link);
 +
 
 +
}
 +
 
 +
</pre>
 +
 
 +
L'initialisation du plugin va simplement créer une table commentaire dans la base de données Thelia.
 +
 
 +
 
 +
<pre>
 +
function destroy(){
 +
 +
}
 +
</pre>
 +
 
 +
Nous décidons de ne rien faire de particulier à la désactivation du plugin.

Version du 11 juillet 2007 à 09:31

Nous allons créer un plugin "commentaires".

Celui-ci permettra aux internautes d'ajouter des commentaires sur une fiche produit.
Une nouvelle boucle permettra d'afficher ces commentaires et une interface d'administration de les supprimer si besoin.

Nous allons créer un répertoire "commentaires" contenant 2 fichiers :

- Commentaires.class.php (notre classe pour le plugin)
- commentaires_admin.php


Commençons par la classe.

Voici son allure générale :


<?php

include_once(realpath(dirname(__FILE__)) . "/../../../classes/PluginsClassiques.class.php");
	
	
	class Commentaires extends PluginsClassiques{

		var $id;
		var $nom;
		var $message;
		var $ref;
		var $date;
		
		var $table="commentaires";
		var $bddvars = array("id", "nom", "message", "ref", "date");
		
		function Commentaires(){
			$this->PluginsClassiques();	
		}

		function charger($id, $lang=1){
		
		}


		function init(){
						
			
		}

		function destroy(){
		
		}		

		function boucle($texte, $args){
		
		}	

		function action($res){
			
			
		}
		
	}

?>


Notre plugin utilisera une table dans la base de données contenant 4 champs :
- id : identifiant du commentaire.
- nom : nom de l'auteur du commentaire.
- message : contenu du commentaire.
- ref : référence du produit associé au commentaire.
- date : date de l'ajout du commentaire.


Détaillons maintenant chaque méthode.


		function charger($id, $lang=1){
		
			return $this->getVars("select * from $this->table where id=\"$id\"");

		}

Cette méthode permet de charger un commentaire de la bdd via son identifiant.


		function init(){
						
			$cnx = new Cnx();
			$query_commentaires = "CREATE TABLE `commentaires` (
			  `id` int(11) NOT NULL auto_increment,
			  `nom` text NOT NULL,
			  `message` text NOT NULL,
			  `ref` text NOT NULL,
			  `date` datetime NOT NULL,
			  PRIMARY KEY  (`id`)
			) AUTO_INCREMENT=1 ;";
			$resul_commentaires = mysql_query($query_commentaires, $cnx->link);			

		}

L'initialisation du plugin va simplement créer une table commentaire dans la base de données Thelia.


		function destroy(){
		
		}	

Nous décidons de ne rien faire de particulier à la désactivation du plugin.