Ex plugin transport

De TheliaDoc
Aller à : navigation, rechercher

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, et présentée au client en front-office.

La méthode calcule() dans notre cas renverra un tarif déterminé selon le poids total du panier. Les attributs suivants sont proposés par la classe PluginsTransports, et utilisables piur calculer le prix d'un transport :

  • poids : le poids total du panier, en Kg
  • nbart : le nombre d'articles présent dans le panier
  • total : le prix total TTC du panier
  • zone : l'ID de la zone de livraison
  • unitetr : l'unité (nombre) indiquée dans le back-office de gestion des zones
  • cpostal : le code postal de l'adresse de livraison choisie par le client.

N'oubliez pas de tester soigneusement votre plugin ! Vous pouvez alors le proposer à la communauté via le SVN des plugins Thelia.

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