Jump to content
Sign in to follow this  
Samuel MONTAGNE

[RC3] Création d'un module ?

Recommended Posts

Bonjour à tous et tout d'abord un grand merci aux développeurs

et autres contributeurs pour le travail effectué avec prestashop.

Je n'ai qu'un mot à dire : Bravo !

 

Ceci étant, je me suis lancé dans la réalisation d'un module de

test il y a quelques minutes (après avoir passé de longues heures

sur la doc, le forum et le code) mais j'ai déjà plusieurs questions

car bien entendu, rien ne marche  ::)

 

Le module en question est censé ne rien faire du tout : c'est juste

un premier test histoire de voir comment tout le bordel fonctionne.

 

Voici ce que j'ai fait pour l'instant :


  • [li]Création d'un dossier 'test' dans le dossier module[/li]
    [li]Création d'un fichier 'test.php' dans ce dossier[/li]
    [li]Création d'une classe 'Test' surchargeant la classe 'Module'[/li]
    [li]Création du constructeur de la classe[/li]

 

En gros, j'ai mis le code suivant dans le fichier (juste pour tester) :

class Test extends Module
{
public function __construct()
{
	$this->name = 'test';
	$this->displayName = $this->l('Test module');
	$this->description = $this->l('Wholly useless module');
	$this->tab = 'Tools';
	$this->version = 1.0;
}

 

Jusque la, tout va bien : lorsque je vais dans mon

BO et que j'accède à l'onglet module, je vois bien

mon module dans le cadre 'Tools' avec le nom et

la description en anglais.

 

Cool ! Motivé par tant de bonheur, je m'aventure

dans 'Outils' > 'Traductions' et dans le cadre

'Modifier les traductions', je sélectionne 'Traduire

les modules' et je clique sur la drapeau français.

 

Re-cool, mon module est présent dans la page

de traduction ! N'ayant peur de rien, je tente

de renseigner une traduction.

 

Je saisie donc

Test module = Module de test

Useless module = Module inutile

puis je clique sur 'Enregistrer les modifications'

et là, c'est le drame !

 

J'ai bien le message 'Mise à jour réussie' et un

fichier fr.php qui s'est ajouté dans mon dossier

'test' mais dans l'onglet module, le nom et la

description sont toujours en anglais !!!!!

 

Où me suis je planté ??????

Share this post


Link to post
Share on other sites

J'ai l'impression qu'il te manque des éléments dans ton constructeur. Par exemple si je regarde, le bloc de pub, il y a :

function __construct()
{
$this->name = 'blockadvertising';
$this->tab = 'Blocks';
$this->version = 0.1;

parent::__construct(); // The parent construct is required for translations

$this->page = basename(__FILE__, '.php');
$this->displayName = $this->l('Block advertising');
$this->description = $this->l('Adds a block to display an advertising');
}

Et vu le commentaire si cela ne marche pas, c'est parce que tu n'as pas mis le constructeur parent.

Share this post


Link to post
Share on other sites

Merci Thierry de m'avoir mis dans la voix.

 

En fait il faut non seulement il faut ajouter le constructeur parent

mais également la ligne

$this->page = basename(__FILE__, '.php');

 

En résumé, le code minimum pour déclarer un nouveau module

(minimum dans le sens ou le module n'a aucune méthode et ne

peux pas s'installer) est le suivant :

<?php
class Test extends Module
{
public function __construct()
{
	$this->name = 'test';
	$this->tab = 'Tools';
	$this->version = 1.0;
	parent::__construct();
	$this->page = basename(__FILE__, '.php');
	$this->displayName = $this->l('Test module');
	$this->description = $this->l('Useless module');
}
}
?>

 

La suite au prochain épisode...

Share this post


Link to post
Share on other sites

Désolé, mais on parle de PrestaShop  :-

Je suis pactisant de l'aide, mais développeur PHP étant un métier, voir des sites comme développer.com, etc...

 

Bien cordialement

Share this post


Link to post
Share on other sites

C'est vrai, désolé d'avoir abusé mais bon, comme on dit, qui ne tente rien....

 

Je suis développeur de métier mais pas développeur PHP donc, forcement

j'ai un peu de mal vu que j'ai pas forcement les bons outils et les automatismes

qui vont avec. Développer des logiciels sous Windows et développer en PHP,

c'est pas tout à fait pareil :D

 

 

Je vais tâcher de trouver des infos sur eclipse et Zend. Merci du tuyau.

Share this post


Link to post
Share on other sites

Par contre, je vous invite à me contacter dans la semaine prochaine pour d'éventuel tuyaux...

Mais pas de tuto concrets bien rédigé :s

Share this post


Link to post
Share on other sites

Merci beaucoup de cette invitation.

Je vais dans un premier temps essayer de

dégrossir tout seul et je me permettrais de

vous contacter si je bloque.

 

Merci pour tout  :D

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More