ToursAnnonces.fr

Tours annonces est un ensemble de services conçus pour vous faciliter la vie au quotidien : petites annonces, emploi, annuaires, services et bien + ...

Inscrivez-vous Vous êtes nouveau ?
Vous avez un compte ?
Aide

Le carnet de bord du webmaster

Passez votre chemin c'est mes notes ici...

31 | 19 | 8 | 20 | 6 | 32 | 10 | 11 | 21 | 34 | 16 | 9 | 36 | 17 | 30 | 18 | 28 | 29 | 7 | 27 | 25 | 22 | 13 | 15 | 37 | 12 | 23 | 26 | 24 | 35 | 33
**** 7-06-2010
06h
sysadmin

sieste

09h Kif

09h36, modification majeure dans le concept de kif list :
le requestObject (ro) n'est plus passé directement au fetcher lors de son instanciation.
Mais le fetcher a un méthode setConfig(ro) qui sera appelée par le listHandler
au moment opportun.

Cela me permet d'avoir moins de code à l'extérieur.
Le problème venait du fait que pour faire des liens (ou formulaires) qui permettent de trier la liste.
Avec l'objet de config à l'extérieur, cela m'oblige à récupérer des variables depuis le code, et
en fonction de certaines conditions de les définir, je passe ensuite ces variables dans le tableau 
de config du RequestObject.

Ces quelques lignes de code sont donc maintenant prises en charge par le listHandler,
qui saura, par convention, en fonction de l'objet sortLink utilisé,
quels paramètres utiliser et quoi afficher, l'objet étant un tout cohérent avec lui même.



12h36 :le gros problme de tout passer en post comme désiré hier,
c'est que la navigation du côté utilisateur peut devenir rapidement un cauchemar,
si l'utilisateur utilise les boutons suivant et précédent de son navigateur,
alors le navigateur peut lui redemander à chaque fois si il veut reposter les infos : trop pénible
pour valider cette solution;

Nous allons donc plutôt garder GET, mais implicite, grâce aux sessions.
Nous ne passons par get que pour signaler un changement.

13h musique
14h


Ah ben non en fait c bon

18h
sport
20h30

résolution d'un bug d'inadvertance qui faisait  que les listes d'annones ne fonctionnairent plus correctement

01h12 : la liste marche très basiquement, mais avec les 4 éléments suivants :
moteur de recherche,
système de tri,
liste,
système de pagination.

Le design me plaît.
Cette fois-ci, aucun paramètre dans l'url, sauf le numéro de page,
donc système optimisé pour le référencement (on va pas m'la faire 2 fois…)



Voici mon code réél d'appel :

/*******************************************************************************/
// DISPLAYER 
/*******************************************************************************/
$htmlTable = new Kif_HtmlTable();
$htmlTable->addAttribute("style", "width:100%;");
$htmlTable->setOutputFieldsHumanNames(array(
    'name' => 'nom',
    ));


/*******************************************************************************/
// SORTLINKS
/*******************************************************************************/
$oSortTriggers = new Kif_List_SortTriggers_PostSessionDefault();


/*******************************************************************************/
// SEARCHENGINE
/*******************************************************************************/
$oSearchEngine = new Kif_List_SearchEngine_PostSessionDefault();

/*******************************************************************************/
// PAGINATION
/*******************************************************************************/
$oPagination = new Kif_List_Pagination_FixedSize();

/*******************************************************************************/
// LISTHANDLER 
/*******************************************************************************/
$listHandlerTemplate = FS_APPLICATION_ROOT . '/template/listhandler/model1.php';
$aConfig=array(
//    'searchExpression'=>'meublé tours',
    'searchFields'=>array('titre'),
    'allowedSortFields'=> array('a.id', 'a.titre'),
    'aCurrentSortFirstField'=> array('id' , 0),
    'sortFieldsTriggersName'=> array('a.id' => '#', 'a.titre' => 'titre'),
    
    'tablename'=>'annonce_en_ligne',
    'selectedFields'=>'a.id, a.titre, c.NCCENR',
    'currentPage'=>1,

    'pageLinkFormat'=> $_SERVER['REDIRECT_URL'] .  '?' . Kif_ListHandler_PostSession::GET_CURRENTPAGE . '=%d',

    'sessionNameSpace'=> 'listhandler_01',
//    'nbItemsPerPage'=>3,
    'innerjoin'=>'a inner join commune c ON c.id=a.id_commune',
//    'where'=>"WHERE NCCENR='Tours'",
    
);
$ro = new Kif_RequestObject_Database($aConfig);
$fetcher = new Kif_Fetcher_Database();
$lh = new Kif_ListHandler_PostSession($fetcher, $ro, $listHandlerTemplate);
$lh->setDisplayer($htmlTable);
$lh->setSortTriggers($oSortTriggers);
$lh->setSearchEngine($oSearchEngine);
$lh->setPagination($oPagination);
$lh->prepareTemplate(); 
$lh->display();




C'est un très bon début, même si j'ai mis longtemps à le créer.
Hélas le timing est short, mais sinon, j'aurais du normalement voir comment implémenter les actions sur les éléments
de la liste, commer effacer, éditer.
Egalement, j'aurais du créer d'autres objets ViewObject comme Kif_HtmlTable
qui n'affiche qu'une bête table : c'est à dire développer des objets html/css plus comlexes
comme le système grid ou autre.
En tout cas l'implémentation de base est relativement très ouverte, beaucoup plus que le système liste5
qui mélangeait code, configuration, logique…


Ici,en réalité, il n'ya pas grand chose à faire, juste appeler correctement le listHandler avec les bons paramètres.


Bon je dois me coucher tôt car le délai pour bind me presse, et je suis fatigué,
demain j'attaque le formulaire,
et je verrais les amliorations de mon objet de liste je ne sais pas quand, peut être pendant la création
de l'esclave, ou peut être demain finalement, sholesmarrons.















AgenceWeb37, agence web de création de site vitrine en Indre et Loire (37)
0.0081870555877686