B'jour
J'aimerai faire apparaître sur mon site l'information suivante : "xxx" Compagnies "yyy" projets artistiques et "zzzzz" photographies présents à ce jour "date"
Les champs entre parenthèse représente des nombres (et une date)
Ces informations sont présentes dans typeTags (hormis la date) : Tous les noms de Cies sont d'une couleur, tous les noms de spectacles/projets artistiques dans une autre.
Est-il possible, dans un plugin perso, d'insérer une fonction qui compterai les tags d'une couleur déterminée et renverrait l'information sous forme numérique, pour chacun de ces champs, et qui afficherai la date du jour dans un dernier champs ?
Et si oui (ce qui est probable), je ne sais pas du tout comment faire. Dernier point : cette demande est-elle légitime sur le forum, ou sort-on trop du cadre de Piwigo ? J'ai l'impression que c'est presque du développement spécifique ce que je demande. Et peut-être que c'est long et compliqué, je ne me rends pas compte...
En tout cas, merci pour la réponse
Dernière modification par makno (2010-11-08 14:12:23)
Hors ligne
Désolé je n'ai pas le temps à y consacrer pour le moment, mais si vous avez déjà des pistes pour récupérer les variables, c'est déjà beaucoup. Reste à trouver des exemples d'autres plugins qui feraient la même chose que votre besoin pour vous in inspirer.
Bon courage ;-)
Hors ligne
makno a écrit:
Est-il possible, dans un plugin perso, d'insérer une fonction qui compterai les tags d'une couleur déterminée et renverrait l'information sous forme numérique, pour chacun de ces champs, et qui afficherai la date du jour dans un dernier champs ?
Je n'ai pas regardé typeTags, mais si l'infos est dans la table, il n'y a pas de raison de ne pas arriver à la récupérer
makno a écrit:
Et si oui (ce qui est probable), je ne sais pas du tout comment faire. Dernier point : cette demande est-elle légitime sur le forum, ou sort-on trop du cadre de Piwigo ? J'ai l'impression que c'est presque du développement spécifique ce que je demande. Et peut-être que c'est long et compliqué, je ne me rends pas compte...
Ta demande est très spécifique mais il n'y a pas de problème pour la formuler sur le forum ;-)
Maintenant, il y a de forte chance que ce soit un dev qui ne te serve que à toi.
Donc pour te guider tu trouvera certainement beaucoup d'aide
Pour le dev complet cela risque d'être plus long
Hors ligne
Gotcha a écrit:
...Reste à trouver des exemples d'autres plugins qui feraient la même chose que votre besoin pour vous in inspirer....
Bon courage ;-)
Si j'ai bien compris la problématique, il y a Awstats qui récupère des informations et affiches des totaux... il y a aussi DynaRecentPeriod qui fait l'opération inverse : a partir d'un entier numérique, il va chercher la somme des éléments qui est égale à cet entier...
Hors ligne
ddtddt a écrit:
Je n'ai pas regardé typeTags, mais si l'infos est dans la table, il n'y a pas de raison de ne pas arriver à la récupérer
Je vais faire un tour dans la BDD et voir si je repère quelque chose de ce type et je reviens
ddtddt a écrit:
Maintenant, il y a de forte chance que ce soit un dev qui ne te serve que à toi.
Donc pour te guider tu trouvera certainement beaucoup d'aide
Pour le dev complet cela risque d'être plus long
Qui sait, peut-être au vu du résultat concret celà peut devenir une astuce, puis une option d'affichage ? Quand au temps, m^me si ça prends 3 ou 4 mois c'est pas un problème, il n'y a rien d'urgent. Je suis prêt à m'y coler, j'ai du temps l'hiver, mais je ne maitrise pas la somme de savoirs théoriques que je devrais ingurgiter pour y arriver...Je dois être assez loin en tout cas des savoirs nécessaires. Si vous avez un avis au vu de mes posts sur l'écart entre mon niveau et celui requis je suis preneur...
Hors ligne
Oui, l'information est intégré dans la table "tags" qui récupère un champs de la table "typetags" qui contient un id différent pour chaque série par couleur. Ce qui m'interesse c'est la liste des champs dont l'id typetags est "2" d'une part, et trois d'autres part. Une recherche simple dans la BDD permet de les obtenir immédiatement.
Copie d'écran jointe
Hors ligne
Donc pour avoir ta valeur, il faut que tu écrive la valeur une requête MySql qui sélectionne toutes les lignes avec id_typtads = 2
Puis tu demandes en php de compter le nombre de ligne
Puis tu envois la valeur pour l'affichage (dans ton besoins, tu n'indique pas ou tu souhaite faire apparaitre l'info ;-)
Hors ligne
merci pour l'information. j'avance avec ça et je reviens poster quand ce sera nécessaire
Hors ligne
ddtddt a écrit:
(dans ton besoins, tu n'indique pas ou tu souhaite faire apparaitre l'info ;-)
Hors ligne
Exact
C'est parce que cet élément s'inscrit dans un projet de refonte générale de ma page d'accueil évoqué dans un autre post. j'ai un plan d'ensemble, mais ce n'est pas encore définitif et là, je débroussaille, histoire de faire le tri entre ce qui va être possible, compliqué ou impossible.
Hors ligne
Tu crées un plugin makno
(crée un répertoire makno)
Dedans un premier fichier makno.tpl
<div class="content">
<h2>makno perso</h2>
{if isset($COMP)}{$COMP} Compagnies{/if} {if isset($PA)}{$PA} projets artistiques{/if} {if isset($PHO)} et {$PHO} photographies{/if} présents à ce jour le {$DATE}
</div>
et un fichier main.inc.php
<?php
/*
Plugin Name: makno
Version: auto
Description:
Plugin URI: http://piwigo.org/ext/extension_view.php?eid=
Author: ddtddt
Author URI: http://piwigo.org/
*/
define('MAK_PATH', PHPWG_PLUGINS_PATH . basename(dirname(__FILE__)) . '/');
add_event_handler('loc_begin_page_header', 'makno', 70);
function makno()
{
global $page, $template;
// Déclaration du fichier template
$template->set_filename('makno', realpath(MAK_PATH.'makno.tpl'));
global $template, $page;
if (isset($page['section']) and $page['section'] == 'categories' and empty($page['category']['id']))
{
$choix1='1';
$query = '
select id,id_typetags
FROM ' . TAGS_TABLE . '
WHERE id_typetags = \''.$choix1.'\'
;';
$result = pwg_query($query);
$count1 = mysql_num_rows($result);
if (!empty($count1))
{
$template->assign('COMP', $count1);
}
$choix2='2';
$query = '
select id,id_typetags
FROM ' . TAGS_TABLE . '
WHERE id_typetags = \''.$choix2.'\'
;';
$result = pwg_query($query);
$count2 = mysql_num_rows($result);
if (!empty($count2))
{
$template->assign('PA', $count2);
}
$choix3='3';
$query = '
select id,id_typetags
FROM ' . TAGS_TABLE . '
WHERE id_typetags = \''.$choix3.'\'
;';
$result = pwg_query($query);
$count3 = mysql_num_rows($result);
if (!empty($count3))
{
$template->assign('PHO', $count3);
}
$today = date("j.n.Y");
$template->assign('DATE', $today);
}
// Affichage du bloc
$template->assign_var_from_handle('PLUGIN_INDEX_CONTENT_BEFORE', 'makno');
}
?>
cela t'ajoute un bloc perso sur la page d'accueil avec ce que tu demande
1/ Dans le fichier .tpl il faut que tu adapte le titre (h2) ou que tu le suprime
2/ dans main.inc.php, il faut que tu adapte choix1, 2, 3 avec tes n° de typetag que je ne connais pas
Hors ligne
Super !
merci d'avoir pris le temps pour une demande aussi spécifique !
Je vais faire ça ce WE, en prises de vues et assimilé pour les deux jours à venir. Et pour participer un peu quand même, je vais de ce pas en faire une astuce dans la section qui va bien.
Merci encore !
Hors ligne
Bon, chanteuse malade, concert annulé et photo aussi donc, j'ai un peu de temps. j'ai suivi scrupuleusement tes indications, respecté la casse du nom du plugin.
j'ai supprimé <h2>makno perso</h2> dans le .tpl
ddtddt a écrit:
define('MAK_PATH', PHPWG_PLUGINS_PATH . basename(dirname(__FILE__)) . '/');
ici, j'ai remplacé "dirname" par le nom de la base et "_File_" par "_nomdelatable_". J'ai déclaré la table "tags" et non pas la table "typetags", j'ai bien pris la bonne table ?
ddtddt a écrit:
global $template, $page;
if (isset($page['section']) and $page['section'] == 'categories' and empty($page['category']['id']))
La, je n'ai rien fait, mais je me demande si je ne dois pas modifier le contenu de ['section'] ?
Pour la partie "$choixX='X' " je n'ai que deux choix, 1 et 2. Dois-je supprimer la partie concernant le choix 3 pour que le bloc s'affiche sur ma page ?
Car, pour l'instant, il ne se passe rien sur mon site
Autre chose à faire que je n'ai pas vu ?
Hors ligne
ddtddt a écrit:
1/ Dans le fichier .tpl il faut que tu adapte le titre (h2) ou que tu le supprime
2/ dans main.inc.php, il faut que tu adapte choix1, 2, 3 avec tes n° de typetag que je ne connais pas
il me semble d'avoir donné des indications ;-)
Libre à toi après de modifier d'autre chose pour que cela ne fonctionne pas :-p
Hors ligne
ddtddt a écrit:
2/ dans main.inc.php, il faut que tu adapte choix1, 2, 3 avec tes n° de typetag que je ne connais pas
si pour 3 tu laisses vide, cette partie la n'apparaitra pas, ce n'est pas la peine de la supprimer.
Donx si le 1 typetags qui t'intéresse c'est le 8 tu mets
$choix1='8';
si pour le 3 tu ne veux pas en mettre dans un premier temps tu mets
$choix3='';
Hors ligne