[note]Zend Framework et dojo : auto-complétion

Ceci est une note rapide … j’espère produire un article plus intéressant une autre fois …

Nous allons regarder les bases de l’auto-complétion  avec ZF et Dojo. Dojo simplement parce qu’il est le mieux intégré des frameworks javascript. Sachant que pour l’instant seul jQuery et Dojo sont intégré

Le code

application/views/scripts/test/index.phtml

<?php
$this->dojo()->enable();	//activation de dojo
 
echo $this->comboBox(
	'toto',	//id html de l'élément
	'',	//valeur par défaut
	array(
		'autocomplete'	=> true,								//activation de l'auto-complétion
		'store'		=> 'stateStore',
		'storeType'		=> 'dojo.data.ItemFileReadStore',
		'storeParams'	=> array('url' => $this->baseUrl('/test/records')),	//url où les données JSON sont récupérée
		'searchAttr'		=> 'title',								//donnée recherchée pour remplir le combobox
	)
);
?>

application/layoutes/scripts/layout.phtml

// ...
		if ($this->dojo()->isEnabled())	//Évite les chargement inutile ....
		{
			$this->dojo()->setDjConfigOption('isDebug', (APPLICATION_ENV == 'development'));	//affiche une console de deboguage si on est en mode dev
			$this->dojo()->setDjConfigOption('usePlainJson', true);						//utilise du json texte
			$this->dojo()->setLocalPath($this->baseUrl('/themes/js/dojo/dojo/dojo.js'));			//chemin vers les fichier dojo
			$this->dojo()->addStyleSheetModule('dijit.themes.tundra');					//thème à chargé
			echo $this->dojo();												//affichage du tout ...
		}
// viennent ensuite nos jabvascript, css, etc
//...
//</head>
// ne pas oublier la class tundra dans le body
<body class="tundra">
//...

application/Bootstrap.php

//...
//dans _initView()
		//dojo
		Zend_Dojo::enableView($view);
//...

application/controllers/TestController.php

<?php
 
class TestController extends Zend_Controller_Action
{
	public function indexAction()
	{
	}
 
	public function recordsAction()
	{
		// on désactive l'affichage
		$this->_helper->layout()->disableLayout();
 
		//on va cherchée les données et les met dans un objet Zend_Dojo_Data
		$book = new Default_Model_DbTable_Book();
		$dojo = new Zend_Dojo_Data('title', $book->fetchAll());
		echo $dojo->toJson();
 
		// on sort ... c'est pas joli mais en attendant cela fonctionne!
		exit();
	}
}
 
# EOF

Choses à retenir comprendre

Les choses à retenir :

  • storeParams est l’url où les donnée au format JSON seront prise
  • searchAttr est l’élément qui va servir pour recherchée les données dans la masse de donnée JSON
  • ne pas oublier de mettre la class css ‘tundra’
  • Dojo peut, via ses styles css modifier votre rendu …

Remarque

Version de ZF : 1.9.6

Version de Dojo (fourni avec zf dans extras) : 1.3

Utilisation de FlashMessenger via un view helper dans Zend Framework

FlashMessanger est à la base un action helper, donc confiné au contrôleur. Celui-ci permet de passer un message d’une page à l’autre via le mécanisme des sessions . Après un formulaire on doit souvent ajouter un message de confirmation, on peux par exemple utilisé le FlashMessenger pour le faire et ainsi au ré-affichage suivant  afficher ce message!  C’est tellement pratique qu’il est dommage de ne pas pouvoir l’utiliser a travers les vue (view) de manière automatique…

Je vous propose donc de l’utiliser via un view helper!

Continue reading

Créer et ajouter un validateur de session dans Zend Framework

Zend Framework possède divers mécanismes de sécurisation, parmi ceux-ci l’on trouvent les validateurs. Ces validateurs vérifie que la ou les données à validées sont valide et par là même sécurise celle-ci.

Dans notre cas nous allons nous intéresser aux sessions et plus particulièrement à la validation de celle-ci au moment de sont démarrage, ceci afin de, par exemple, empêcher le diminuer les possibilités de vol de celle-ci. Nous allons créer un validateur d’ip … (oui je sais y a moyen de passer outre, si on derrière un proxy gnagnagna …. mais ici c’est un exemple!).

Continue reading

FSB RC est sortie!

Je vous le disait il y a peu, la nouvelle RC de FSB 2 allait sortir.

C’est chose faites !

Les principales nouveauté sont les suivantes :

  • Chiffrement RSA pour les identifiant
  • FSBCard (idée dont je suis fier) qui permet l’export de son profil ainsi que de ses préférences
  • Un mode bas débit du forum
  • L’option d’installation rapide, génial pour les développeurs!
  • Plein de fix
  • Possibilité de mettre des sondage dans les map des message, pour rappel les maps des messages étant une présentation d’un nouveau sujet||message à posté
  • Refonte complète du système de procédure modératives

Bref on sent que la version final approche et surtout que FSB2 à un grand avenir devant lui!

Mon seul regret : le thème que je trouve bof bof

L’annonce officiel