[plugin] Tri des clients dans l'admin (Customer sort for admin)

Messagepar cynic- » Lun 11 Mai 2009, 18:39

/// FR - TRI DES CLIENTS DANS L'ADMIN
Adaptation de http://www.oscommerce.com/community/contributions,223 pour oscss 1.2.1
Cette légère modification permet de trier les clients côté admin : trier par nom, prénom, ou date d'inscription.

Fichiers à modifier :
- catalog/admin/customers.php
- catalog/admin/includes/languages/french/customers.php
Fichier à ajouter :
- catalog/admin/includes/languages/french/images/buttons/ic_up.gif
- catalog/admin/includes/languages/french/images/buttons/ic_down.gif

/// EN - CUSTOMER SORT FOR ADMIN
Adaptation from http://www.oscommerce.com/community/contributions,223 for oscss 1.2.1
This light modification allows you to sort customers in the site admin : sort by name, first name, or account creation date.

Files to modify :
- catalog/admin/customers.php
- catalog/admin/includes/languages/(your language)/customers.php
Files to add :
- catalog/admin/includes/languages/(your language)/images/buttons/ic_up.gif
- catalog/admin/includes/languages/(your language)/images/buttons/ic_down.gif

Images (enregistrer sous / save as) : Image Image

1. +- line 722 ajouter / add
Code: Tout sélectionner
 <?php
 // CUSTOMER SORT FOR ADMIN BEGIN
  switch ($listing) {
 case "id-asc":
  $order = "c.customers_id";
  break;
  case "firstname":
 $order = "c.customers_firstname";
 break;
  case "firstname-desc":
  $order = "c.customers_firstname DESC";
  break;
  case "lastname":
  $order = "c.customers_lastname, c.customers_firstname";
 break;
  case "lastname-desc":
 $order = "c.customers_lastname DESC, c.customers_firstname";
  break;
  default:
  $order = "c.customers_id DESC";
 }
 // CUSTOMER SORT FOR ADMIN END
  ?>

2. +- line 759 remplacer / replace
Code: Tout sélectionner
 
$customers_query_raw = "select c.customers_id, c.customers_lastname, c.customers_firstname, c.customers_email_address, a.entry_country_id from " . TABLE_CUSTOMERS . " c left join " . TABLE_ADDRESS_BOOK . " a on c.customers_id = a.customers_id and c.customers_default_address_id = a.address_book_id " . $search . " order by c.customers_lastname, c.customers_firstname";

Par / by
Code: Tout sélectionner
 // CUSTOMER SORT FOR ADMIN BEGIN
  $customers_query_raw = "select c.customers_id, c.customers_lastname, c.customers_firstname, c.customers_email_address, a.entry_country_id from " . TABLE_CUSTOMERS . " c left join " . TABLE_ADDRESS_BOOK . " a on c.customers_id = a.customers_id and c.customers_default_address_id = a.address_book_id " . $search . " order by c.customers_lastname, c.customers_firstname";
  // CUSTOMER SORT FOR ADMIN END
  $customers_query_raw = "select c.customers_id, c.customers_lastname, c.customers_firstname, c.customers_email_address, a.entry_country_id from " . TABLE_CUSTOMERS . " c left join " . TABLE_ADDRESS_BOOK . " a on c.customers_id = a.customers_id and c.customers_default_address_id = a.address_book_id " . $search . " order by $order";

3. +- line 749 remplacer / replace
Code: Tout sélectionner
<td class="dataTableHeadingContent"><?php echo TABLE_HEADING_LASTNAME; ?></td>
<td class="dataTableHeadingContent"><?php echo TABLE_HEADING_FIRSTNAME; ?></td>
<td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACCOUNT_CREATED; ?></td>

Par / by
Code: Tout sélectionner
<td class="dataTableHeadingContent"><a href="<?php echo "$PHP_SELF?listing=lastname"; ?>"><?php echo tep_image_button('ic_up.gif', TEXT_SORT . ' ' . TABLE_HEADING_LASTNAME . ' ' . TEXT_ABC); ?></a>&nbsp;<a href="<?php echo "$PHP_SELF?listing=lastname-desc"; ?>"><?php echo tep_image_button('ic_down.gif', TEXT_SORT . ' ' . TABLE_HEADING_LASTNAME . ' ' . TEXT_ZYX); ?></a><br><?php echo TABLE_HEADING_LASTNAME; ?></td>
<td class="dataTableHeadingContent"><a href="<?php echo "$PHP_SELF?listing=firstname"; ?>"><?php echo tep_image_button('ic_up.gif', TEXT_SORT . ' ' . TABLE_HEADING_FIRSTNAME . ' ' . TEXT_ABC); ?></a>&nbsp;<a href="<?php echo "$PHP_SELF?listing=firstname-desc"; ?>"><?php echo tep_image_button('ic_down.gif', TEXT_SORT . ' ' . TABLE_HEADING_FIRSTNAME . ' ' . TEXT_ZYX); ?></a><br><?php echo TABLE_HEADING_FIRSTNAME; ?></td>
<td class="dataTableHeadingContent" align="right"><a href="<?php echo "$PHP_SELF?listing=id-asc"; ?>"><?php echo tep_image_button('ic_up.gif', TEXT_SORT . ' ' . TABLE_HEADING_ACCOUNT_CREATED . ' ' . TEXT_123); ?></a>&nbsp;<a href="<?php echo "$PHP_SELF?listing=id-desc"; ?>"><?php echo tep_image_button('ic_down.gif', TEXT_SORT . ' ' . TABLE_HEADING_ACCOUNT_CREATED .  ' ' . TEXT_321); ?></a><br><?php echo TABLE_HEADING_ACCOUNT_CREATED; ?></td>

4. Fichier langue (fr)
Code: Tout sélectionner
// CUSTOMER SORT begin
define('TEXT_SORT', 'Trier');
define('TEXT_ABC', 'de A à Z');
define('TEXT_ZYX', 'de Z à A');
define('TEXT_123', 'à partir du plus ancien');
define('TEXT_321', 'à partir du plus récent');
// CUSTOMER SORT end

Language file (en)
Code: Tout sélectionner
// CUSTOMER SORT begin
define('TEXT_SORT', 'Sort');
define('TEXT_ABC', 'A to Z');
define('TEXT_ZYX', 'Z to A');
define('TEXT_123', 'Oldest first');
define('TEXT_321', 'Newest first');
// CUSTOMER SORT end

A l'avenir (remarque de j4k) pourquoi ne pas ajouter le tri par code postal, etc... :)
Dernière édition par cynic- le Mer 09 Sep 2009, 17:02, édité 1 fois.
cynic-
Site Admin
 
Messages: 694
Inscription: Mar 04 Déc 2007, 13:04

Messagepar oscim » Ven 19 Juin 2009, 17:31

Merci Cynic

Ca serait pas mal de l'intégrer au noyau cette contrib non ?
Pour un web au normes du W3C, pour un web plus propre !

- Download osCSS Toutes versions
- stable osCSS 2.1.0 (help|info|new dev) Official help|wiki|Tuto for osCSS 2 | doc doxygen
- Utiliser le tracker pour suivre les évolutions et développements
- Inscrivez vos sites sur oscss pour présenter vos réalisations
Avatar de l’utilisateur
oscim
Site Admin
 
Messages: 1643
Inscription: Mar 25 Sep 2007, 11:33

Messagepar cynic- » Mer 09 Sep 2009, 17:01

L'intégrer au noyau ? je n'y vois aucun inconvénient bien sûr
cynic-
Site Admin
 
Messages: 694
Inscription: Mar 04 Déc 2007, 13:04

Messagepar oscim » Mer 09 Sep 2009, 20:25

Salut,

effectivement, mais dans l'idée,
Mais il manque ce tri sur tous les tableaux du backoffice.

Ps, c'est en natif sur la branche BoRv
Pour un web au normes du W3C, pour un web plus propre !

- Download osCSS Toutes versions
- stable osCSS 2.1.0 (help|info|new dev) Official help|wiki|Tuto for osCSS 2 | doc doxygen
- Utiliser le tracker pour suivre les évolutions et développements
- Inscrivez vos sites sur oscss pour présenter vos réalisations
Avatar de l’utilisateur
oscim
Site Admin
 
Messages: 1643
Inscription: Mar 25 Sep 2007, 11:33


Retourner vers Plugin

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: bingbot [Bot] et 1 invité

cron