Annonce

  •  » Utilisation
  •  » [Résolu] Ordre de tri par défaut

#1 2010-07-28 09:36:38

Yionel
Membre
Lyon
2010-02-20
60

[Résolu] Ordre de tri par défaut

Bonjour,

Je souhaite modifier l'ordre de tri par défaut mais je ne sais pas ou cela ce trouve (fichier php ? menu piwigo que je n'ai pas vu ... ?)
Actuellement, je ne peux qu'aller dans chaque catégorie et mettre un ordre de tri pour toutes les sous catégories, c'est lourdeau :D

Merci beaucoup !! ;)

Hors ligne

#2 2010-07-28 09:51:30

Gotcha
Ex Equipe Piwigo
Pierrelatte (26)
2007-03-14
13331

Re: [Résolu] Ordre de tri par défaut

C'est prévu est sera disponible pur la future version :-)

En attendant, tu peux créer un plugin personnel.
[ Administration >> Plugins >> LocalFiles Editir > Onglet "Plugin personnel" ] et insérer ceci :

Code:

<?php
/*
Plugin Name: Trier les sous-catégories
Version: 1.0
Description: Permet de trier les sous-catégories dans le même ordre que la catégorie parente.
Plugin URI: http://fr.piwigo.org/forum/viewtopic.php?id=18302
Author: plg
Author URI: http://piwigo.org/forum/viewtopic.php?pid=115062#p115062
*/

add_event_handler('loc_begin_admin', 'sort_all_categories');
function sort_all_categories()
{
  if (!isset($_GET['page']) or 'maintenance' != $_GET['page'])
  {
    return null;
  }

  if (!isset($_GET['action']) or 'categories' != $_GET['action'])
  {
    return null;
  }

  $categories = array();
  $names = array();

  $query = '
SELECT id, name, id_uppercat
  FROM '.CATEGORIES_TABLE.'
;';
  $result = pwg_query($query);
  while ($row = pwg_db_fetch_assoc($result))
  {
    array_push(
      $categories,
      array(
        'id' => $row['id'],
        'id_uppercat' => $row['id_uppercat'],
        )
      );
    array_push(
      $names,
      $row['name']
      );
  }

  array_multisort(
    $names,
    SORT_REGULAR,
    SORT_DESC,
    $categories
  );

  $current_rank_for_id_uppercat = array();
  $current_rank = 0;
  
  $datas = array();
  foreach ($categories as $category)
  {
    if (is_array($category))
    {
      $id = $category['id'];
      $id_uppercat = $category['id_uppercat'];

      if (!isset($current_rank_for_id_uppercat[$id_uppercat]))
      {
        $current_rank_for_id_uppercat[$id_uppercat] = 0;
      }
      $current_rank = ++$current_rank_for_id_uppercat[$id_uppercat];
    }
    else
    {
      $id = $category;
      $current_rank++;
    }
    
    array_push($datas, array('id' => $id, 'rank' => $current_rank));
  }
  $fields = array('primary' => array('id'), 'update' => array('rank'));
  mass_updates(CATEGORIES_TABLE, $fields, $datas);
}

?>

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

#3 2010-07-28 13:41:14

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: [Résolu] Ordre de tri par défaut

Pour changer l'ordre de trie par défaut, ca se passe dans le fichier local de configuration (1er onglet de localfiles editor).

Par exemple, pour trier les photos par date de prise de vue, puis par nom de fichier, il faut mettre:

$conf['order_by'] = ' ORDER BY date_creation ASC, file ASC';
$conf['order_by_inside_category'] = $conf['order_by'];

Comment veux-tu trier tes photos par défaut?


P@t

Hors ligne

#4 2010-07-28 14:25:53

Gotcha
Ex Equipe Piwigo
Pierrelatte (26)
2007-03-14
13331

Re: [Résolu] Ordre de tri par défaut

@Yionel : Tu parles des catégories ou bien des photos dans les catégories ???


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

#5 2010-08-13 19:14:56

Yionel
Membre
Lyon
2010-02-20
60

Re: [Résolu] Ordre de tri par défaut

Je parlais bien des photos dans les catégories. La réponse de p@t me satisfait ! merci ;)

Hors ligne

  •  » Utilisation
  •  » [Résolu] Ordre de tri par défaut

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact