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 :

  • 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.

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.