[SPIP Zone] Nuage de mots clefs

Bonjour,

Je tente d'utiliser le plugin "nuage" de la zone avec un SPIP 2.0.0 beta2 SVN [12948].

Tout va bien si je n'ai pas besoin d'exposer les mots clefs d'un article :
[(#MODELE{nuage}{id=1})]

Par contre, si je veux exposer les mots clefs d'un article, ceci ne donne rien :
[(#MODELE{nuage}{id=1}{id_article})]

Pas plus que ceci :
[(#MODELE{nuage}{id=1}{id_article=12})]

Je me suis rendu compte du coup que le modèle "nuage" ne contient effectivement rien pour la prise en compte d'un id_article, mais qu'un modèle "nuage2" non documenté semble le proposer. Je fais donc ceci :
[(#MODELE{nuage2}{id=1}{id_article})]

Et là ça plante avec une Fatal error de PHP :

[15-Oct-2008 11:52:12] PHP Fatal error: Call to undefined function trouver_table() in /Users/nhoizey/Documents/workspace/Perso - Marketing Planet/plugins/choix/nuage/frequence_fonctions.php on line 85

Une idée ?

-Nicolas

--
Nicolas HOIZEY
http://www.gasteroprod.com/

Nicolas Hoizey a écrit :

Je me suis rendu compte du coup que le modèle "nuage" ne contient effectivement rien pour la prise en compte d'un id_article, mais qu'un modèle "nuage2" non documenté semble le proposer. Je fais donc ceci :
[(#MODELE{nuage2}{id=1}{id_article})]

Et là ça plante avec une Fatal error de PHP :

[15-Oct-2008 11:52:12] PHP Fatal error: Call to undefined function trouver_table() in /Users/nhoizey/Documents/workspace/Perso - Marketing Planet/plugins/choix/nuage/frequence_fonctions.php on line 85

Une idée ?

pas tester, mais ca doit pas etre grand chose.

peut etre remplacer :
//compatibilite SVN et 1.9.2
        if(function_exists('trouver_def_table')) {
            $nom = $table_des_tables[$type];
            list($table, $desc) = trouver_def_table($nom ? $nom : $type, $boucle);
        }
        else {
            $desc = trouver_table($type, $boucle);
            $table = $desc['table'];
        }
       
par

//compatibilite 2.0 et 1.9.2

        if(function_exists('trouver_def_table')) {

            $nom = $table_des_tables[$type];

            list($table, $desc) = trouver_def_table($nom ? $nom : $type, $boucle);

        }

        else {

$trouver_table = charger_fonction('trouver_table','base');

$desc=$trouver_table($type, $boucle->sql_serveur);

            $table = $desc['table'];

}

@++

Le 15 oct. 08 à 12:53, Stephane a écrit :

Nicolas Hoizey a écrit :

Je me suis rendu compte du coup que le modèle "nuage" ne contient effectivement rien pour la prise en compte d'un id_article, mais qu'un modèle "nuage2" non documenté semble le proposer. Je fais donc ceci :
[(#MODELE{nuage2}{id=1}{id_article})]

Et là ça plante avec une Fatal error de PHP :

[15-Oct-2008 11:52:12] PHP Fatal error: Call to undefined function trouver_table() in /Users/nhoizey/Documents/workspace/Perso - Marketing Planet/plugins/choix/nuage/frequence_fonctions.php on line 85

Une idée ?

pas tester, mais ca doit pas etre grand chose.

peut etre remplacer :
//compatibilite SVN et 1.9.2
      if(function_exists('trouver_def_table')) {
          $nom = $table_des_tables[$type];
          list($table, $desc) = trouver_def_table($nom ? $nom : $type, $boucle);
      }
      else {
          $desc = trouver_table($type, $boucle);
          $table = $desc['table'];
      }

par

//compatibilite 2.0 et 1.9.2
       if(function_exists('trouver_def_table')) {
         $nom = $table_des_tables[$type];
           list($table, $desc) = trouver_def_table($nom ? $nom : $type, $boucle);
     }
       else {
$trouver_table = charger_fonction('trouver_table','base');
$desc=$trouver_table($type, $boucle->sql_serveur);
           $table = $desc['table'];
}

Exact, ça marche ! Si quelqu'un peut confirmer que ça marche encore en 1.9.2e, je commit.

Mais pourquoi y-a-t-il un modèle nuage2, non documenté, plutôt que la prise en charge directement dans le modèle nuage ?

-Nicolas

--
Nicolas HOIZEY

Nicolas Hoizey a écrit :

Exact, ça marche ! Si quelqu'un peut confirmer que ça marche encore en 1.9.2e, je commit.

tu peux : en 1.9.2, la fonction trouver_def_table existe et on ne passe donc jamais dans le bout de code que tu viens de modifier.
donc gogogo.

Mais pourquoi y-a-t-il un modèle nuage2, non documenté, plutôt que la prise en charge directement dans le modèle nuage ?

heu, ca, c'est parce que nuage2 (le plugin) etait un fork visant à mettre au point un critère frequence.
James a repris la fonctionnalité en la recodant au gout du jour alors que mon code datait un peu.
fonctionnellement, c'est la meme chose pour ce qui est du modele de base, c'est la methode de fabrication qui diffère.

@++

Pour être complet, il y a aussi un filtre nuage_affiche, pour faire
[(#NUAGE|nuage_affiche)]
car en terme de perf, le #FOREACH du modeles/nuage est pas super.
Il faut esperer que l' on figera le concept des boucles tableau bientot, pour arriver à coder cet affichage en squelette sans degrader les perf.

Cédric

Le 16 oct. 08 à 02:01, Stephane a écrit :

Nicolas Hoizey a écrit :

Exact, ça marche ! Si quelqu'un peut confirmer que ça marche encore en 1.9.2e, je commit.

tu peux : en 1.9.2, la fonction trouver_def_table existe et on ne passe donc jamais dans le bout de code que tu viens de modifier.
donc gogogo.

Mais pourquoi y-a-t-il un modèle nuage2, non documenté, plutôt que la prise en charge directement dans le modèle nuage ?

heu, ca, c'est parce que nuage2 (le plugin) etait un fork visant à mettre au point un critère frequence.
James a repris la fonctionnalité en la recodant au gout du jour alors que mon code datait un peu.
fonctionnellement, c'est la meme chose pour ce qui est du modele de base, c'est la methode de fabrication qui diffère.

@++
_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone