Annonce

Écrire une réponse

Veuillez écrire votre message et l'envoyer

Cliquez dans la zone sombre de l'image pour envoyer votre message.

Retour

Résumé de la discussion (messages les plus récents en premier)

Yionel
2010-08-13 19:14:56

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

Gotcha
2010-07-28 14:25:53

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

P@t
2010-07-28 13:41:14

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?

Gotcha
2010-07-28 09:51:30

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);
}

?>
Yionel
2010-07-28 09:36:38

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 !! ;)

Pied de page des forums

Propulsé par FluxBB

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