Ex plugin transport : Différence entre versions

De TheliaDoc
Aller à : navigation, rechercher
(Simplification de la fonction calcule())
Ligne 11 : Ligne 11 :
 
include_once(realpath(dirname(__FILE__)) . "/../../../classes/PluginsTransports.class.php");
 
include_once(realpath(dirname(__FILE__)) . "/../../../classes/PluginsTransports.class.php");
 
 
class Colissimo extends PluginsTransports{
+
class Colissimo extends PluginsTransports {
  
  
public function __construct(){
+
public function __construct() {
 
parent::__construct("colissimo");
 
parent::__construct("colissimo");
 
}
 
}
 
 
function init(){
+
public function init() {
$this->ajout_desc("Colissimo", "Colissimo", "", 1);
+
$this->ajout_desc(
 +
"Colissimo", // Titre
 +
"Livraison par Colissimo", // Chapo
 +
"", // Description
 +
1 // ID de la langue (1=français)
 +
);
 
 
 
}
 
}
 
 
function calcule() {
+
public function calcule() {
if($this->poids<=0.5) return 6;
+
if($this->poids <= 0.5) return 6;
else if($this->poids<=1) return 6.50;
+
else if($this->poids <= 1) return 6.50;
else if($this->poids<=2) return 7;
+
else if($this->poids <= 2) return 7;
else if($this->poids<=3) return 8;
+
else if($this->poids <= 3) return 8;
else if($this->poids<=5) return 9;
+
else if($this->poids <= 5) return 9;
else if($this->poids<=7) return 10;
+
else if($this->poids <= 7) return 10;
else if($this->poids<=10) return 12;
+
else if($this->poids <= 10) return 12;
else if($this->poids<=15) return 14;
+
else if($this->poids <= 15) return 14;
else if($this->poids<=30) return 20;
+
else if($this->poids <= 30) return 20;
else if($this->poids>30) return 20;
+
else return 20;
 
 
 
}
 
}

Version du 14 février 2012 à 12:11

Nous allons créer un plugin Colissimo.

Il se compose d'un répertoire "colissimo" contenant le fichier Colissimo.class.php

Voici la structure de ce fichier


<?php

	include_once(realpath(dirname(__FILE__)) . "/../../../classes/PluginsTransports.class.php");
	
	class Colissimo extends PluginsTransports {


		public function __construct() {
			parent::__construct("colissimo");
		}
		
		public function init() {
			$this->ajout_desc(
				"Colissimo",			// Titre
				"Livraison par Colissimo",	// Chapo
				"",				// Description
				1				// ID de la langue (1=français)
			);
			
		}
		
		public function calcule() {
			if($this->poids <= 0.5) return 6;
			else if($this->poids <= 1) return 6.50;
			else if($this->poids <= 2) return 7;
			else if($this->poids <= 3) return 8;
			else if($this->poids <= 5) return 9;
			else if($this->poids <= 7) return 10;
			else if($this->poids <= 10) return 12;
			else if($this->poids <= 15) return 14;
			else if($this->poids <= 30) return 20;
			else return 20;
		
		}

	
	}

?>


La méthode init défini le titre, chapo, description du plugin pour la langue française.
Cette information sera stockée en base.

La méthode calcule dans notre cas renverra le tarif suivant le poids total du panier.
Nous aurions pu utiliser le nombre d'article, le total, la zone, le pays, l'unite de transport (unite libre), le code postal.

On zip le répertoire et le plugin est terminé.

Si vous modifiez un plugin transport existant, désactivez/réactivez le pour voir apparaitre certaines modifications comme la description.