[pmwiki-users-fr] recherche "à facettes" suite

ABClf languefrancaise at gmail.com
Sam 9 Jan 11:15:38 CST 2016


Bonjour Patrice,

Je ne vais pas beaucoup vous aider, mais au moins une réponse générale
pour faire avancer le sujet.

Sauf erreur, la recette sqlite est seulement une recette de stockage ;
elle ne facilite ni les pagelists ni les recherches. Je l'ai utilisée
mais je n'ai pas été heureux avec (pour un grand nombre de pages).
Les recettes zap, dataquery et dataplates sont je crois mal supportées
actuellement, et il peut être risqué de les utiliser toutes à la fois
sans les avoir testées auparavant avec des projets simples, et trouver
de l'aide sera plus difficile.

Dans votre premier exemple, quel est votre problème ? Une première
recherche filtrée donne les résultats attendus ? Mais quand vous
relancez un nouvelle recherche, les nouveaux résultats sont listées
sous les premiers ? c'est donc un problème de présentation des
résultats ?
Votre site est-il visible ? Pouvez-vous exposez votre souci en anglais
sur l'autre liste (l'auteur de Fox, Hans, qui est abonné, pourrait
vous éclairer).

Pour des recherches filtrées, je ne connais pas de sites utilisant
pmwiki qui pourraient servir de modèle ; peut-être que cette page
pourra vous aider ou vous donner des idées :
http://www.cef-cfr.ca/index.php?n=Equipements.Accueil

Avez-vous pensé à utiliser seulement des catégories plutôt que des ptv
(la taille, le lieu, ça semble bien rentrer dans des catégories) ?
avec la recette Tagger, elles s'utilisent efficacement, sans syntaxe ;
et la recette de Petko,
http://www.pmwiki.org/wiki/Cookbook/PageListMultiTargets
(experimental), permet de faire des recherches avec exclusion de
liens.


Gilles.


Le 9 janvier 2016 à 12:12, Patrice PELLE <patrice-pelle at bbox.fr> a écrit :
> Bonjour
>
>
> j’ai continué à travailler sur mon projet de recherche multicritères
>
> J’ai créé le formulaire suivant sur la page « Poissons.Poissons »
>
> (:fox formulaire  ptvupdate=0 template=CherchePoisson#display  ptvclear=1:)
> !!Caractéristiques
> ||'''Lieu : '''||(:input select name=$:lieu value="*" label="*":)
> (:input select name=$:lieu value="Atlantique" label="Atlantique":)
> (:input select name=$:lieu value="Méditerranée" label="Méditerranée":)
> (:input select name=$:lieu value="Indo-Pacifique" label="Indo-Pacifique":)||
> ||'''Forme :'''||(:input select name=$:forme value="*" label="*":)
> (:input select name=$:forme value="Corps fuselé" label="Corps fuselé":)
> (:input select name=$:forme value="Corps comprimé latéralement" label="Corps
> comprimé latéralement":)
> (:input select name=$:forme value="Corps allongé" label="Corps allongé":)
> (:input select name=$:forme value="Corps en forme de gourdin" label="Corps
> en forme de gourdin":)
> (:input select name=$:forme value="Corps robuste/Ovale" label="Corps
> robuste/ovale":)
> (:input select name=$:forme value="Corps plat" label="Corps plat":)||
> ||'''Taille :'''||(:input select name=taille value="*" label="*":)
> (:input select name=$:taille value="*" label="*":)
> (:input select name=$:taille value="Inférieure 10cm" label="Inférieure
> 10cm":)
> (:input select name=$:taille value="10-20cm" label="10-20cm":)
> (:input select name=$:taille value="20-30cm" label="20-30cm":)
> (:input select name=$:taille value="30-40cm" label="30-40cm":)
> (:input select name=$:taille value="40-50cm" label="40-50cm":)
> (:input select name=$:taille value="50-60cm" label="50-60cm":)
> (:input select name=$:taille value="60-70cm" label="60-70cm":)
> (:input select name=$:taille value="70-80cm" label="60-80cm":)
> (:input select name=$:taille value="80-90cm" label="80-90cm":)
> (:input select name=$:taille value="90-100cm" label="90-100cm":)
> (:input select name=$:taille value="Supérieure 1m" label="Supérieure 1m":)
>
> (:input submit post Enter:)
>
> (:foxend formulaire:)
>
> qui renvoie à la page « Poissons.CherchePoisson » contenant les instructions
> suivantes
>
> (:nogroupheader:)
>
> [[#display]]
> (:pagelist taille={$$taille} lieu={$$lieu}:)
>
> [[#displayend]]
>
> Lorsque j’effectue la première recherche « Lieu=* » « Forme=* » « Taille
> Inférieur 10cm » j’obtiens un résultat qui correspond bien à mon attente,
> mais les résultats des recherches suivantes sont ensuite empilés les uns
> après les autres, ce que confirme le contenu de la page Poissons.Poissons
> (2ème recherche) :
>
> (:fox formulaire  ptvupdate=0 template=CherchePoisson#display  ptvclear=1:)
> !!Caractéristiques
> ||'''Lieu : '''||(:input select name=$:lieu value="*" label="*":)
> (:input select name=$:lieu value="Atlantique" label="Atlantique":)
> (:input select name=$:lieu value="Méditerranée" label="Méditerranée":)
> (:input select name=$:lieu value="Indo-Pacifique" label="Indo-Pacifique":)||
> ||'''Forme :'''||(:input select name=$:forme value="*" label="*":)
> (:input select name=$:forme value="Corps fuselé" label="Corps fuselé":)
> (:input select name=$:forme value="Corps comprimé latéralement" label="Corps
> comprimé latéralement":)
> (:input select name=$:forme value="Corps allongé" label="Corps allongé":)
> (:input select name=$:forme value="Corps en forme de gourdin" label="Corps
> en forme de gourdin":)
> (:input select name=$:forme value="Corps robuste/Ovale" label="Corps
> robuste/ovale":)
> (:input select name=$:forme value="Corps plat" label="Corps plat":)||
> ||'''Taille :'''||(:input select name=taille value="*" label="*":)
> (:input select name=$:taille value="*" label="*":)
> (:input select name=$:taille value="Inférieure 10cm" label="Inférieure
> 10cm":)
> (:input select name=$:taille value="10-20cm" label="10-20cm":)
> (:input select name=$:taille value="20-30cm" label="20-30cm":)
> (:input select name=$:taille value="30-40cm" label="30-40cm":)
> (:input select name=$:taille value="40-50cm" label="40-50cm":)
> (:input select name=$:taille value="50-60cm" label="50-60cm":)
> (:input select name=$:taille value="60-70cm" label="60-70cm":)
> (:input select name=$:taille value="70-80cm" label="60-80cm":)
> (:input select name=$:taille value="80-90cm" label="80-90cm":)
> (:input select name=$:taille value="90-100cm" label="90-100cm":)
> (:input select name=$:taille value="Supérieure 1m" label="Supérieure 1m":)
>
> (:input submit post Enter:)
>
> (:foxend formulaire:)
> (:pagelist taille=Inférieure 10cm lieu=*:)
> (:pagelist taille=Supérieure 1m lieu=*:)
>
> Je tente donc une autre approche, en utilisant les recettes sqlite,
> dataquery, dataplates et ZAP. Je repars de zéro, à partir d’un nouvelle
> instance de pmwiki (dernière version : 2.2.83) MAMP version  3.4 pour MAC
> OSX (PHP 5.6.1). J’ai crée le dossier config.php suivant :
>
> <?php if (!defined('PmWiki')) exit();
> $WikiTitle = "Essai";
>
>
> # Uncomment these if needed
> ## Use "Clean URLs".
> $EnablePathInfo = 1;
> $ScriptUrl = "http://localhost:8888/pmwiki/pmwiki.php";
> #$ScriptUrl = 'http://example.com/pmwiki/pmwiki.php';
> #$PubDirUrl = 'http://example.com/pmwiki/pub';
>
> $DefaultPasswords['admin'] = pmcrypt('root');
>
> $EnableUpload = 1;
> $DefaultPasswords['upload'] = pmcrypt('root');
>
>
>
> ///////////////////////////////////////////
>
> ## Unicode (UTF-8) allows the display of all languages and all alphabets.
> include_once("scripts/xlpage-utf-8.php");
> //include_once("scripts/xlpage-iso-8859-2.php");
>
>
>
>  ##---------------Francisation ------------------------------------
> //XLPage('fr','PmWikiFr.XLPage'); // Les chaînes de PmWiki
> //XLPage('fr','PmWikiFr.XLPageCookbook'); // Les chaînes de PmWiki
>
> ///////////////////////////////////////////
>
> ##---Création de sous-dossiers XML--##
> $EnablePageStoreXML = 1;
> include_once('cookbook/XMLPageStore.php');
>
> //$WikiDir = new XMLPageStore('$FarmD/wiki.d/{$Group}/{$FullName}');
>
> ##---Sqlite---##
> include_once("$FarmD/cookbook/sqlite.php");
> $WikiDir = new PageStoreSQLite($WorkDir.'/pmwiki.sqlite.db', 1);
> $WikiLibDirs = array(
>   &$WikiDir,
>   new PageStore('wiki.d/{$FullName}'),
>   new XMLPageStore('$FarmD/wiki.d/{$Group}/{$FullName}'),
>   new PageStore('$FarmD/wikilib.d/{$FullName}')
> );
>
>
> ## formulaires ZAP et databases##
> $Databases['$FarmD/wiki.d/pmwiki.sqlite.db'] =  array(
>   'driver' => 'sqlite',
>   'hostname' => 'localhost',
>   'database' => '$FarmD/wiki.d/pmwiki.sqlite.db'
>   'username' => 'admin',
>   'password' => 'root');
>
> $DQglobals['scriptfile'] = "$PubDirUrl/dFilter.js";
> include "$FarmD/cookbook/dataquery.php";
> include "$FarmD/cookbook/dataplates.php";
> include "$FarmD/cookbook/zap.php";
> include "$FarmD/cookbook/zaptoolbox.php »;
>
> Je n’obtiens qu’une page blanche.
>
> A noter que j‘ai essayé plusieurs instanciations des variables du tableau
> $Databases :
> $Databases['$FarmD/wiki.d/pmwiki.sqlite.db’] ou pmwiki, ou pmwikir.sqlite ou
> pmwikir.sqlite.db
>   hostname : localhost, localhost:8888, localhost:8888/pmwiki,
> localhost:8888/pmwiki/pmwiki.php
> database : cf première ligne
> username et password : avec ou sans
>
> Je souhaiterai bien un peu d’aide
>
> Merci beaucoup et meilleurs vœux
>
>
> Patrice PELLE
> patrice-pelle at bbox.fr
>
>
>
> _______________________________________________
> pmwiki-users-fr mailing list
> pmwiki-users-fr at pmichaud.com
> http://www.pmichaud.com/mailman/listinfo/pmwiki-users-fr
>



Plus d'informations sur la liste de diffusion pmwiki-users-fr