ESC_0133.jpg DSC_0426.jpg DSC_0460.jpg

 i need more coffee

Atteint depuis mon plus jeune âge d'hippopotomonstrosesquippedaliophobie (cultivez vous ça ne fera pas de mal) j'ai décidé de faire un blog sur ma maladie (be feeeaar..).
Blague à part c'est un blog totalement axé génie logiciel que vous trouverez ici. Du PHP, du J2EE, et évidement toutes les technologies qui leur sont liées.

Have fun !

Astuces de développeur sur CmsMadeSimple

3 janvier 2014Posté par : Kevin Danezis dans CmsMadeSimple

Petit article compilant mes astuces trouvées et régulièrement utilisées lors de mes développements de modules.

{$actionid}

Dans un template, ce code va vous redonner automatiquement le code identifiant d'action du module en cours. C'est vachement pratique pour éviter de passer par l'API pour générer un simple input text.

Avant en php :

$save = $this->CreateInputSubmit($id, 'save', 'Save',  'class="sub"');
$smarty->assign('save', $save);

Maintenant dans le template :

<input type='submit' value='Save' class='sub' name='{$actionid}save' />

C'est le même mais la seconde solution rest plus propre visuellement parlant. A noter que la version 2.0 de cmsmadesimple actuellement en cours de développement va accentuer l'idée de "tout placer l'html dans le template" ce qui est à mon sens une très bonne initiative.

{$myVar|print_r}

Pour débugguer ses données dans les templates, abusez des outils à votre disposition ! "{xxxx|print_r}" est l'équivalent en PHP de print_r() qui va vous afficher le contenu d'un tableau ou d'un objet de manière explosée. Très pratique pour connaitre les membres d'un objet auquels on peut accéder.

Notez que dans le domaine du debug : ajouter $config['debug'] = true; dans le fichier de config est une très bonne idée.

{get_template_vars}

Vous avez un template mais vous ne savez pas ce que smarty vous met à disposition dedans ? utilisez {get_template_vars} pour constater par vous même les variables disponibles !

Rendre votre module "plugin-ready".

Depuis quelques versions de cmsmadesimple, il apparait que les modules que l'on développent ne sont plus publiables sur le front office. En réalité c'est une ancienne mauvaise habitude de développement qui pose problème. Ainsi pour pouvoir utiliser {wiki} sur le frontoffice de mon site, le fichier wiki.module.php doit contenir au minimum ces informations suivantes :

function IsPluginModule() { return true; }
function InitializeFrontend() { $this->RegisterModulePlugin(true, false); }

Coupler efficacement Github Windows et vos développements.

Si comme moi vous développer sur Github et que, feignasse que vous êtes, vous utilisez l'outil interne de Github, sachez qu'avec 2/3 manipulation vous pouvez développer à même le répertoire /module/votreModule et ainsi comiter/pusher votre code à la volée.

1 - Nommez votre repository exactement comme votre module en prenant soin de suivre la casse du nom.

2 - Vérifiez que les fichiers (tels que votreModule.module.php) éventuellement présents sur votre repo soient bien à la racine de votre repo et non sous /src ou je ne sais quoi.

3 - Lancez GitHub pour Windows, installez le et configurez le au besoin avec vos identifiants GitHub.

4 - Au lieu de cliquer sur "Cloner le repo", faites clic droit, cloner vers, et sélectionner le répertoire de destination, là ou vous développez. Par exemple "C:\wamp\www\monsite\modules\". Un nouveau répertoire au nom de votre repo sera créé avec dedans les fichiers de votre module.

5 - Codez :)

The End

Voilà les astuces du jour, j'espère que ça servira :)

comments powered by Disqus