•  » Utilisation
  •  » [Résolu] [RESOLU] 2Classement des catégories en orde ante chrono alpha num

#1 2010-02-01 21:38:28

Tcherno
Membre
Issy-les-moulineaux (France)
2004-06-09
311

[Résolu] [RESOLU] 2Classement des catégories en orde ante chrono alpha num

Bon c'est une question de nul, mais je cherche et ne trouve pas.

Ou peut on modifier l'ordre de classement des sous-categories ?

Explication : si je crée la catégorie a, puis b, puis c et que je demande qu'elles soient dans l'ordre alpha chrono elles se calent comme ils faut et je clique sur sauvegarder l'ordre. youpi je suis content !

Mais je veux l'inverse à savoir categorie c puis b, puis a....

Merci les amis.

Dernière modification par Tcherno (2010-02-03 14:39:21)


"Mon métier est de voir et faire voir. Je ne ressens pas la nécessité d'en changer" Jean Lattès Photojournaliste (1917-1996)
Photothèque : http://www.puech.info/photos/
Blog photojournalisme : http://www.a-l-oeil.info

Hors ligne

#2 2010-02-01 21:44:17

LucMorizur
Membre
Vienne (Isère, 38)
2009-03-01
1967

Re: [Résolu] [RESOLU] 2Classement des catégories en orde ante chrono alpha num

Quand on pointe sur une catégorie, la souris change pour montrer qu'on peut glisser cette catégorie à l'emplacement que l'on souhaite.

Normalement.

:-)

Hors ligne

#3 2010-02-01 21:48:06

Tcherno
Membre
Issy-les-moulineaux (France)
2004-06-09
311

Re: [Résolu] [RESOLU] 2Classement des catégories en orde ante chrono alpha num

LucMorizur a écrit:

Quand on pointe sur une catégorie, la souris change pour montrer qu'on peut glisser cette catégorie à l'emplacement que l'on souhaite.

Normalement.

:-)

Oui, merci mais ça je connais c'est ok, mais c'est fastidieux et je voudrai que ça fasse ce classement automatiquement par défaut.
Et ce que je cherche c'est la fonction qui fait ça.


"Mon métier est de voir et faire voir. Je ne ressens pas la nécessité d'en changer" Jean Lattès Photojournaliste (1917-1996)
Photothèque : http://www.puech.info/photos/
Blog photojournalisme : http://www.a-l-oeil.info

Hors ligne

#4 2010-02-01 21:57:22

LucMorizur
Membre
Vienne (Isère, 38)
2009-03-01
1967

Re: [Résolu] [RESOLU] 2Classement des catégories en orde ante chrono alpha num

Tcherno a écrit:

Oui, merci mais ça je connais c'est ok, mais c'est fastidieux et je voudrai que ça fasse ce classement automatiquement par défaut.

Oups !

Alors là pour moi ça n'est pas implémenté.

Et ce que je cherche c'est la fonction qui fait ça.

Si c'est la fonction PHP que tu cherches pour une modification, c'est trouvable bien sûr ; pour ce qui est d'une fonction de Piwigo, pour moi ce n'est pas prévu.

:-/

Hors ligne

#5 2010-02-01 22:10:14

Gotcha
Equipe Piwigo
Pierrelatte (26)
2007-03-14
13324

Re: [Résolu] [RESOLU] 2Classement des catégories en orde ante chrono alpha num


Ayez comme premier réflexe de consulter le wiki.
Ensuite, veuillez effectuer une recherche sur le forum avant de poser votre question.

LE FAIRE EST LE REVELATEUR DE L'ETRE

Hors ligne

#6 2010-02-02 09:14:20

Tcherno
Membre
Issy-les-moulineaux (France)
2004-06-09
311

Re: [Résolu] [RESOLU] 2Classement des catégories en orde ante chrono alpha num

LucMorizur a écrit:

Si c'est la fonction PHP que tu cherches pour une modification, c'est trouvable bien sûr ; pour ce qui est d'une fonction de Piwigo, pour moi ce n'est pas prévu.

:-/

Trouvable dans le php... justement je ne le trouve pas. 8-)


"Mon métier est de voir et faire voir. Je ne ressens pas la nécessité d'en changer" Jean Lattès Photojournaliste (1917-1996)
Photothèque : http://www.puech.info/photos/
Blog photojournalisme : http://www.a-l-oeil.info

Hors ligne

#7 2010-02-02 09:55:02

LucMorizur
Membre
Vienne (Isère, 38)
2009-03-01
1967

Re: [Résolu] [RESOLU] 2Classement des catégories en orde ante chrono alpha num

Tcherno a écrit:

Trouvable dans le php... justement je ne le trouve pas. 8-)

Là je n'ai vraiment pas le temps ; mais je dirais : lorsqu'on clique sur "classer les catégories par ordre alphabétique (à peu près)", un formulaire est renvoyé à la page PHP avec un argument en méthode POST ou GET (plus probablement POST). Donc dans la page PHP, cet argument est utilisé quelquepart :

if isset($_POST['<classer par ordre alphabétique>'])
  {
  // instructions pour classer par ordre alphabétique
  }

Reste plus qu'à modifier ces instructions :-p ...


Si j'ai le temps ce soir je jette un œil ; peut-être que quelqu'un aura répondu plus pertinemment d'ici là.

Hors ligne

#8 2010-02-02 10:24:19

Gotcha
Equipe Piwigo
Pierrelatte (26)
2007-03-14
13324

Re: [Résolu] [RESOLU] 2Classement des catégories en orde ante chrono alpha num

Y en a qui ne cliquent pas sur les liens que je donne...

:-/

Ou alors j'ai lu trop vite et ce n'est pas la bonne solution que j'apporte.


Ayez comme premier réflexe de consulter le wiki.
Ensuite, veuillez effectuer une recherche sur le forum avant de poser votre question.

LE FAIRE EST LE REVELATEUR DE L'ETRE

Hors ligne

#9 2010-02-02 11:35:36

LucMorizur
Membre
Vienne (Isère, 38)
2009-03-01
1967

Re: [Résolu] [RESOLU] 2Classement des catégories en orde ante chrono alpha num

Gotcha a écrit:

Y en a qui ne cliquent pas sur les liens que je donne...

:-/

Ou alors j'ai lu trop vite et ce n'est pas la bonne solution que j'apporte.

J'ai lu, mais rapidement :-) !

Je préfère ne pas répondre pour ne pas dire de trop grosses bêtises pour une fois ; il faudrait vraiment que je lise le code un minimum pour pouvoir être pertinent.

Le peu que je puisse dire pour le moment est que tu présentais Gotcha, un classement de l'ordre des commentaires, en récupérant ces commentaires comme tu le voulais grâce à une modification d'une requête SQL (en choisissant ORDER BY <ASC ou autre, je sais pus>). Je n'ai pas rebondi là-dessus car pour la présentation des catégories je ne suis pas sûr que ça fonctionne de la même façon : les catégories sont des objets différents des commentaires, dans la BDD. (Euh... a priori, au moins.) (AMHA, y'en a qui doivent se marrer en attendant qu'il y ait une bêtise qui sorte ^^ ...)

Hors ligne

#10 2010-02-02 11:47:42

tosca
Former Piwigo Team
Cévennes (Gard)
2006-09-23
3818

Re: [Résolu] [RESOLU] 2Classement des catégories en orde ante chrono alpha num

LucMorizur a écrit:

lorsqu'on clique sur "classer les catégories par ordre alphabétique (à peu près)", un formulaire est renvoyé à la page PHP avec un argument en méthode POST ou GET (plus probablement POST).

Sauf erreur de ma part, ce type de solution ne fonctionne que s'il n'y a qu'une seule page.

LucMorizur a écrit:

... un classement de l'ordre des commentaires, en récupérant ces commentaires comme tu le voulais grâce à une modification d'une requête SQL (en choisissant ORDER BY <ASC ou autre, je sais pus>).

Ca, par contre, me paraît fonctionner quel que soit le nombre de commentaires, donc de pages nécessaires pour les afficher.

LucMorizur a écrit:

Je n'ai pas rebondi là-dessus car pour la présentation des catégories je ne suis pas sûr que ça fonctionne de la même façon : les catégories sont des objets différents des commentaires, dans la BDD.

Ce sont deux tables différentes, mais ça n'empêche pas d'avoir une même logique pour les récupérer dans un ordre défini.

Hors ligne

#11 2010-02-02 12:11:10

Gotcha
Equipe Piwigo
Pierrelatte (26)
2007-03-14
13324

Re: [Résolu] [RESOLU] 2Classement des catégories en orde ante chrono alpha num

Autant pour moi Luc !

J'ai fait mon gros boulet !
Le sujet ici parle des catégories et moi je donne un lien qui parle des commentaires lol Mais le principe est le même puisque je l'applique sur ma galerie. C'est un tri "DESC" qu'il faut changer dans un fichier. La solution je me souvient était donnée par Nicolas.
Je recherche le BON sujet et je reviens.


Ayez comme premier réflexe de consulter le wiki.
Ensuite, veuillez effectuer une recherche sur le forum avant de poser votre question.

LE FAIRE EST LE REVELATEUR DE L'ETRE

Hors ligne

#12 2010-02-02 13:44:22

Gotcha
Equipe Piwigo
Pierrelatte (26)
2007-03-14
13324

Re: [Résolu] [RESOLU] 2Classement des catégories en orde ante chrono alpha num

Je n'arrive pas à remettre la main sur la réponse de Nicolas mais j'ai retrouvé la combine.

ATTENTION !
La modification à apporter ne saura pas être une solution définitive. En effet, le fichier que l'on va modifier pourra être remplacer lors d'une future mise à jour. Donc... ne venez pas pleurer le cas échéant.

Faites une copier de ./admin/cat_list.php

A présent ouvrez le fichier ./admin/cat_list.php.
Recherchez le bloc :

Code:

// +-----------------------------------------------------------------------+
// |                          Categories display                           |
// +-----------------------------------------------------------------------+

$categories = array();

$query = '
SELECT id, name, permalink, dir, rank, status
  FROM '.CATEGORIES_TABLE;
if (!isset($_GET['parent_id']))
{
  $query.= '
  WHERE id_uppercat IS NULL';
}
else
{
  $query.= '
  WHERE id_uppercat = '.$_GET['parent_id'];
}
$query.= '
  ORDER BY rank ASC
;';
$categories = hash_from_query($query, 'id');

Remplacer :

Code:

ORDER BY rank ASC

Par :

Code:

ORDER BY rank DESC

Ainsi, le bouton qui permet d'organiser les catégories de manière alphabético-numérique aura pour effet d'organiser le catégories suivant l'ordre que l'on souhaitera.
Par exemple, mes catégories commencent toutes de manière numérique.
DESC = date la plus lointaine en haut de la liste (0 1 2 3 4 5 6 7 8 9)
ASC = date la plus proche est en haut de la liste (9 8 7 6 5 4 3 2 1 0)

[EDIT]
Voir aussi [Forum, post 9383 by plg in topic 1957] Classement automatique images, categories
[/EDIT]


Ayez comme premier réflexe de consulter le wiki.
Ensuite, veuillez effectuer une recherche sur le forum avant de poser votre question.

LE FAIRE EST LE REVELATEUR DE L'ETRE

Hors ligne

#13 2010-02-02 23:21:40

LucMorizur
Membre
Vienne (Isère, 38)
2009-03-01
1967

Re: [Résolu] [RESOLU] 2Classement des catégories en orde ante chrono alpha num

Ouh là là.

tosca a écrit:

LucMorizur a écrit:

lorsqu'on clique sur "classer les catégories par ordre alphabétique (à peu près)", un formulaire est renvoyé à la page PHP avec un argument en méthode POST ou GET (plus probablement POST).

Sauf erreur de ma part, ce type de solution ne fonctionne que s'il n'y a qu'une seule page.

??... c'est-à-dire ?

Ce que je veux dire, c'est que, techniquement, c'est un formulaire <form> qui est utilisé, et qui renvoie sur la même page : <form id="categoryOrdering" action="./admin.php?page=cat_list" method="post">

On a donc bien un formulaire <form> qui utilise la méthode POST pour recharger la même page admin.php, avec l'argument page ayant la valeur cat_list.

LucMorizur a écrit:

Je n'ai pas rebondi là-dessus car pour la présentation des catégories je ne suis pas sûr que ça fonctionne de la même façon : les catégories sont des objets différents des commentaires, dans la BDD.

Ce sont deux tables différentes, mais ça n'empêche pas d'avoir une même logique pour les récupérer dans un ordre défini.

Oui mais non, pour ce qui est de les classer. Dans la BDD, les commentaires n'ont comme paramètre (sur lequel trier, en l'occurrence) que la date à laquelle ils ont été livrés.
Les catégories, elles, utilisent un paramètre "rank", car elles peuvent être classées de façon totalement arbitraire (càd non déterminable par un algorithme (= préférence du webmestre)). Lorsqu'on demande à classer par ordre alphabétique, on modifie ce paramètre rank de façon à ce qu'il colle au contenu du titre des catégories. Il faut donc analyser ce contenu -- encore une fois, j'ai lu rapidement, mais cela ne peut pas être la solution du cas présenté par Gotcha.

Hors ligne

#14 2010-02-02 23:26:03

Gotcha
Equipe Piwigo
Pierrelatte (26)
2007-03-14
13324

Re: [Résolu] [RESOLU] 2Classement des catégories en orde ante chrono alpha num

J'ai peux-être fait fausse rute ^^


(Le jeux de mot est volontaire ! Merci)


Ayez comme premier réflexe de consulter le wiki.
Ensuite, veuillez effectuer une recherche sur le forum avant de poser votre question.

LE FAIRE EST LE REVELATEUR DE L'ETRE

Hors ligne

#15 2010-02-02 23:35:12

LucMorizur
Membre
Vienne (Isère, 38)
2009-03-01
1967

Re: [Résolu] [RESOLU] 2Classement des catégories en orde ante chrono alpha num

Gotcha a écrit:

A présent ouvrez le fichier ./admin/cat_list.php.

Le classement est effectivement bien réalisé dans ce fichier.

Recherchez le bloc :

Code:

// +-----------------------------------------------------------------------+
// |                          Categories display                           |
// +-----------------------------------------------------------------------+

Là, par contre, non, car il s'agit là du bloc qui va préparer les données pour l'affichage sur la page admin.php, que des demandes de modifications aient été demandées ou pas.

Pour le peu que j'aie compris, il faut chercher dans le bloc entre les lignes 119 et 141 :

Code:

// sort categories alpha-numerically
else if (isset($_POST['submitOrderAlphaNum']))
{
  $query = '
SELECT id, name
  FROM '.CATEGORIES_TABLE.'
  WHERE id_uppercat '.
    (!isset($_GET['parent_id']) ? 'IS NULL' : '= '.$_GET['parent_id']).'
;';
  $result = pwg_query($query);
  while ($row = mysql_fetch_assoc($result))
  {
    $categories[ $row['id'] ] = strtolower($row['name']);
  }

  asort($categories, SORT_REGULAR);
  save_categories_order(array_keys($categories));

  array_push(
    $page['infos'],
    l10n('Categories ordered alphanumerically')
    );
}

C'est là qu'on a bien l'instruction qui vérifie que l'ordre a été donné de classer par ordre alphabétique : if (isset($_POST['submitOrderAlphaNum']))

Après... il faudrait probablement modifier l'instruction asort($categories, SORT_REGULAR); ?

Là, je verrai ça dans la doc PHP d'ici 24 h mini, si personne n'infirme ou ne confirme en complétant, car je vais me coucher ;-) ...

Hors ligne

  •  » Utilisation
  •  » [Résolu] [RESOLU] 2Classement des catégories en orde ante chrono alpha num

Pied de page des forums

Propulsé par FluxBB