Points à vérifier lors de la soumission d’un module sur Prestashop Addons

La soumission d’un module sur le site Prestashop Addons peut être semée d’embûches, notamment en raison de la politique de qualité assez stricte de l’éditeur sur les derniers modules proposés.

Notre dernier module « Pages CMS privées » ayant été refusé 4 fois de suite, on a commencé à recenser dans cet article (qui sera mis à jour) les causes éventuelles.

(vous retrouverez également les conseils de base dans le Guide Contributeur – validation technique modules et thèmes fourni par Prestashop)

 

Typer les variables dans les requêtes MySQL

Il arrive que vous fassiez des requêtes MySQL directement, soit via du SQL direct, soit via l’objet DbQuery, par exemple :

$dbquery = new DbQuery();
$dbquery->select('`id_truc`');
$dbquery->from('matable', 'a');
$dbquery->where('`id_truc` = '.$valeur);

L’erreur classique est visible à la 4e ligne, on ne vérifie pas si la valeur intégrée dans la requête est un chiffre (le raisonnement est le même si vous attendez un booléen sous forme 0/1).

Il faut donc typer (« caster ») votre variable :

$dbquery->where('`id_truc` = '.(int)$valeur);

Message de confirmation lors de la sauvegarde des réglages

Dans la page de réglages de votre module, accessible via le lien « Configurer » sur la ligne correspondante dans l’onglet Modules du back-office, il est nécessaire d’afficher un message après l’enregistrement des éventuels réglages.

message_confirmation

Avec Prestashop 1.6, il est assez facile de gérer ce genre de choses :

$output = '';

if (((bool)Tools::isSubmit('submitMonModule')) == true) {
   $this->postProcess();
   $output .= $this->displayConfirmation($this->l('Successful update'));
}

Texte explicatif dans la page de configuration du module

Comme le montre la capture d’écran plus haut, vous pouvez très bien afficher directement les réglages de votre module sans aucune introduction. Cependant, et d’autant plus si le module est un peu « original », il est vivement conseillé d’afficher au moins quelques lignes, et dans l’idéal une capture d’écran.

Sur notre module « Pages CMS privées« , voici ce qui s’affiche dans le module :

doc_module

Vous pouvez utiliser le système de traduction disponible dans les modèles Smarty utilisés par Prestashop pour afficher le texte et l’image dans la langue correspondante :

<p>
{l s='Once the module has been installed, a "Private" column exists in CMS pages list screen.' mod='cmsprivate'}
<img src="{$module_dir_url|escape:'htmlall':'UTF-8'}/views/img/configure_{$lang_iso|escape:'htmlall':'UTF-8'}.png" />
</p>

Documentation PDF en anglais

Lors de la soumission d’un module, il vous sera toujours demandé de fournir une documentation PDF au moins en anglais.

documentations

Comme indiqué, le nom de ces fichiers doit reprendre le code ISO de la langue, par exemple readme_fr.pdf.

Il s’agit ici d’une documentation orientée « marchand », elle doit être vraiment explicite et facile à comprendre.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *