[D7] Modifica vista elenco utenti da backoffice

4 contenuti / 0 new
Ultimo contenuto
[D7] Modifica vista elenco utenti da backoffice

Salve a tutti,
sto sviluppando un sito con drupal 7 e ho la necessità di modificare la pagina dell'elenco degli utenti iscritti, aggiungendo una colonna alla vista già presente di default (quella che viene fuori se da amministratore si clicca su "people" per intenderci)

La modifica di per se l'ho già effettuata aggiungendo una colonna e il relativo contenuto differenziato per utente, però per effettuarla ho dovuto modificare il modulo core di drupal, che di per se non è una cosa da fare, se no poi si fa casino quando si aggiorna.
In particolare sono andato a modificare la funzione "user_admin_account()" del file "user.admin.inc" del modulo "user". Visto che vorrei mantenere il core di drupal come è in origine, allora mi sono creato un modulino e ho provato ad utilizzare l'hook "nome_mio_modulo_user_admin_account()", ma sembra che tale hook non funzioni forse perchè non previsto.

Qualcuno ha una qualche idea del perchè non funzioni, o cmq di come potrei fare a fare ciò che voglio??

Allego due foto della schermata prima e del dopo la modifica.

Grazie a chi risponderà!!

Credo possa convenire andare a creare una vista vera e propria (usando views) e sostituire quella di default, con qualche filtro esposto potresti cavartela.

In alternativa dovresti andare a alterare il form generato dalla funzione user_admin_account() (hook_form_alter), per i commenti avevo fatto una cosa TIPO:

<?php
/**
 * Implementation of hook_form_FORM_ID_altr().
 *
 * Add body field to admin content page.
 */
function comment_admin_extended_form_comment_admin_overview_alter(&$form, &$form_state) {
 
// Add field into tablesort header
 
$form['comments']['#header']['body'] = array(
   
'data' => t('Body'),
   
'field' => 'body',
  );
 
// Extract comment ID to use
 
$cids = array();
  foreach (
$form['comments']['#options'] as $cid => $comment) {
   
$cids[] = $cid;
  }
 
// Load comments...
 
$comments = comment_load_multiple($cids);
  foreach (
$comments as $comment) {
   
// Extract body and..
   
$body = field_get_items('comment', $comment, 'comment_body');
   
// ..add body to data
   
$form['comments']['#options'][$comment->cid]['body'] = $body[0]['value'];
  }
}
?>

che non è leggerissima ma regge, idem potresti provare a fare per gli utenti. Spero di averti dato una bozza di come approcciare il problema.

Ciao
Marco
--
My blog
Working at @agavee

mmhhhh,grazie mavimo!!
Mi hai dato una buona idea..forse con hook form alter riesco a fare quello di cui ho bisogno!!Proverò appena ho tempo e nel caso aggiorno il post se risolvo!!

mmhhhh,grazie mavimo!!
Mi hai dato una buona idea..forse con hook form alter riesco a fare quello di cui ho bisogno!!Proverò appena ho tempo e nel caso aggiorno il post se risolvo!!