Modulo Content Profile - Mostrare un campo CCK al posto dell'User Name di default

24 contenuti / 0 new
Ultimo contenuto
Modulo Content Profile - Mostrare un campo CCK al posto dell'User Name di default

Ho assolutamente bisogno di aiuto:
Ho installato il modulo Content Profile, aggiunto dei campi CCK (Nome - Cognome - Azienda etc...) che l'utente deve compilare in fase di registrazione oltre ai 2 di default "username - indirizzo email" e, quando sono nella pagina che elenca tutti gli utenti iscritti al sito (admin/user/user), ho l'esigenza di mostrare un mio campo personalizzato di CCK (es. mio_field_azienda) che vada a sostituire quello di default "username" mostrando "Nome Azienda" nell'intestazione della tabella che elenca gli utenti e tutti i nomi delle aziende listati anzichè gli "username", appunto...

Ho cercato e trovato questo post che risolve questa mia richiesta ma sinceramente non ne riesco a venire a capo anche perchè non sono a certi livelli con PHP.

Questo è il link:
http://www.drupalitalia.org/node/6355

E questo è il codice presente nel mio "block.tpl.php" del mio tema Garland:

<?php
// $Id: block.tpl.php,v 1.3 2007/08/07 08:39:36 goba Exp $
?>

<div id="block-<?php print $block->module .'-'. $block->delta; ?>" class="clear-block block block-<?php print $block->module ?>">
<?php if (!empty($block->subject)): ?>
  <h2><?php print $block->subject ?></h2>
<?php endif;?>
  <div class="content"><?php print $block->content ?></div>
</div>

Sarò un po duro di testa... qualcuno mi aiuterebbe ad adattare alla mia esigenza questo mio codice tenendo presente che il mio campo CCK è: "field_azienda" ???

Grazie come sempre...

Ciao
Kipper

non ho capito dove devi sostituire il nome azienda all'username (per due utenti della stessa azienda, poi?)
la pagina admin/user/user non è visibile (spero) agli utenti.

comunque, la soluzione che descrivi serve a modificare il titolo del blocco del menu di navigazione e non il valore username sitewide.

vedi se http://drupal.org/project/realname può fare al caso tuo

ciao bohz,
no, la pagina admin/user/user non è ovviamente visibile agli utenti...
serve solo a me e al posto dell'username voglio vedere il nome azienda del campo cck compilato dall'utente in fase di registrazione...
Per intenderci:
di default drupal visualizza in admin/user/user gli username; mentre io voglio visualizzare il nome azienda oppure il rendering di un qualsiasi campo compilato dall'utente in fase di registrazione es. nome o cognome...

questo perchè risulta veramente scomodo identificare un utente con lo username mentre, visualizzando il nome o il nome dell'azienda la situazione è più intuitiva fin dal primo colpo d'occhio

spero di essermi spiegato...

adesso provo il modulo che mi hai segnalato, se nel frattempo, avendo capito la mia esigenza, ti viene in mente qualcosa...

Grazie

Ciao
Kipper

usa realname e costruisciti una vista di amministrazione (magari con views bulk operations, se necessario)
altrimenti chiedi al mantainer come devi fare per avere il campo realname al posto dell'username in admin/user/user

bohz scrive:

altrimenti chiedi al mantainer come devi fare per avere il campo realname al posto dell'username in admin/user/user

Mah... sinceramente non capisco cosa centri il provider... boh..

Grazie

Ciao
Kipper

mantainer non provider
il mantainer è lo sviluppatore o gestore del modulo!

...ma credo che non sarà necessario. il realname dovrebbe essere visibile nell'interfaccia admin di default. ricordati di abilitare il permesso di vedere il realname per il ruolo admin

scusa bohz ma non ho mai costruito una vista di amministrazione... qualche dritta per partire?

ciao

aaah.. il mantainer! ..scusami, oggi è una giornata di fuoco!

si, ma in questo modo mi sembra che si vada a cambiare solo il nome... e la lista degli utenti? rimarranno sempre gli username.. credo..

come faccio a risalire al mantainer? ...chi è lo sviluppatore del modulo user?

ho fatto una prova, sei fortunato.

installa realname e seleziona il campo "azienda" del content_profile come realname.
nei permessi, assicurati che solo gli admin possano vedere il campo realname.

...e il gioco è fatto. se vai in admin/user/user vedrai che gli usernames sono sostituiti con il nome dell'azienda

[EDIT. per completezza: una vista amministrativa è una normale vista che raggruppa dati amministrativi ed è visibile solo agli admin; nel tuo caso, una vista di tipo "utente" (o "nodo", se ti basi su content profile), in cui elenchi gli utenti e l'azienda di appartenenza.
Se poi vuoi fare alcune operazioni sugli utenti direttamente dalla vista, puoi usare views bulk operations]

Grandissimo Bohz!!! funzionaaa!
...avevo selezionato l'opzione "Core Profile" scartando a priori (senza provarla nemmeno...) l'opzione "Content Profile" perchè per logica, credevo che bisognava lavorare sul "core" di Drupal ma evidentemente mi sbagliavo...

Grazie anche per le info sulla vista amministrativa e view bulk operations

Grazie ancora...

Ciao
kipper

Ciao bohz, ho scoperto un piccolo "bughettino" in RealName... (se lo si può chiamare tale... ma non credo sia un bug.. ovviamente...)
Funziona tutto benissimo e, siccome uso anche Simplenews per gestire alcune newsletter, mi sono accorto che andando in admin/content/simplenews/users gli username rimangono "username" e non prendono il field "Azienda" come in admin/user/user ..qualche ultimo suggerimento per chiudere la faccenda?
se devo essere sincero mi premerebbe molto risolvere... sto facendo prove, magari c'è la solita opzione da attivare da qualche parte.. se nel frattempo hai una soluzione....

Grazie

Ciao
Kipper

non sono espertissimo ma credo che se simplenews ha una funzione di theming per l'username, questa si possa sovrascrivere via modulo o template.php usando la funzione theme_usernametheme_username
tipo theme('username', $user)
in questo caso dovrai anche attivare l'opzione "Override username theme" nelle impostazioni del modulo.

potresti anche postare una richiesta di supporto nella issue queue del modulo realname

Grazie.. ciao

Ciao bohz,
il mio problema persiste però nel frattempo sono riuscito a far apparire il Real Name (Nel mio caso "Nome Azienda") al posto dell'username (admin) nel blocco login (quando l'utente è autenticato...)

Ho sostituito la stringa di codice nel block.tpl.php del tema Garland da (originale):

<h2><?php print $block->subject ?></h2>

con questa (reperita in rete - http://drupal.org/node/349334):

<h2><?php global $user; print $block->module == 'user' ? theme('username', $user) : $block->subject ?></h2>

Adesso, quando sono loggato come admin, nel blocco user, al posto del solito admin sono riuscito a far apparire Nome Azienda; ovvero il Real Name "pescato" dal campo CCK...

Quando ho visto il cambiamento mi sono subito illuso ma, è durata poco..

Andando in admin/content/simplenews/users ho constatato che persistono gli username > admin - pippo - gianni55 etc etc etc... a differenza di quello che mi aspettavo > Nome Azienda 01 - 02 - 03 etc etc...

Secondo me la soluzione sta in una delle opzioni di Real Name e, più precisamente in Bypass Forms.

In questa sezione c'è un textarea dove ti da la possibilità di aggiungere i form che si vogliono bypassare; di default ce ne sono impostati 2 > "comment_form name" e, se potessi conoscere quello riferito a Simplenews credo che il problema si risolva qui!

Sapresti indicarmi il nome del form di Simplenews da bypassare?

P.S. Ho trovato anche questo, che sembra promettere di risolvere la situazione ma niente da fare:
http://www.fragmentized.net/content/changing-drupal-username-profilename

Grazie ancora

Ciao
Kipper

Quote:
Secondo me la soluzione sta in una delle opzioni di Real Name e, più precisamente in Bypass Forms.

probabilmente hai ragione.
Non so perchè mi ero convinto che quella impostazione facesse il contrario, ovvero definire le form dove realname NON doveva essere usato.

in quella textarea devi inserire i form ID della form che devi bypassare.
Per trovare l'ID della form di simplenews usa firebug o view source (ctrl+u) e cerca tra i primi campi nascosti della form in questione qualcosa del tipo

<input type="hidden" name="form_id" id="edit-user-profile-form" value="user_profile_form"  />

in questo esempio, il valore che cerchi è user_profile_form

niente, non la trovo,
ho intercettato (credo...) facendo (ctrl+u) nella pagina dove mi visualizza gli user > admin/content/simplenews/users

<div class="form-checkboxes"></div><input type="hidden" name="form_build_id" id="form-94468497269bcd209847324f3d6adc88" value="form-94468497269bcd209847324f3d6adc88"  />
<input type="hidden" name="form_token" id="edit-simplenews-subscription-admin-form-token" value="7d5a20253d2592356d2e5591cfc9cbbc"  />
<input type="hidden" name="form_id" id="edit-simplenews-subscription-admin" value="simplenews_subscription_admin"  />

...e ho aggiunto nel textare Bypass Forms:
simplenews_subscription_admin ...ma non cambiano..

continuo a cercare e provare

ciao

...magari sbaglio nel metterlo di seguito separato da uno spazio, oppure va messo incolonnato a quello esistente per default e poi, quel "name"? ...deve essere aggiunto ad ogni inserimento es. simplenews_subscription_admin name? ...comunque il valore sembrerebbe essere "simplenews_subscription_admin" ..boh..

continuo a provare e cercare...

devi anche aggiungere "name" dopo l'id, come da esempio da te postato...
[EDIT: si, va messo in colonna, una linea per form]

non va... non va... sarebbe una figata ma non va...
..d'altronde quando si accede a questa pagina è una cosa impensabile vedere di fianco alla mail l'username anzichè un riferimento + specifico; come si fa a capire a colpo d'occhio l'azienda di appartenenza, il quadro della situazione???
..ci sarebbe un modo per risolvere; dare istruzioni all'utente di inserire come username es. Nome Completo e Azienda ma evidentemente è una cosa macchinosa e non propriamente pulita.. e poi, quando deve accedere è un vero casino.. no, è da escludere...

Mi domando come lo sviluppatore di questo modulo (Simplenews) abbia impostato il tutto in questa maniera... ma dove vive questo qua?

intanto proseguo la ricerca... c'è in giro veramente poco su questa cosa...

P.S. L'alternativa ce l'ho: CiviCMR.
Sono giorni che lo testo ed è veramente potente, l'ho interfacciato con Drupal in modo che compaiono i campi nella fase registrazione utente e il tutto finisce nel database ma adesso preferisco usare Simplenews perchè si integra perfettamente (avendo il sito in 2 lingue) con I18n ma, se non risolvo la situazione, sarò costretto a usare (indubbiamente con felicità...) CiviCRM.

L'unico "neo" che ho potuto constatare di CiviCRM è il fatto che quando l'utente si trova nella pagina di registrazione /user/register, i 2 campi username e email compaiono immediatamente mentre, il form di CiviCRM (aggiuntivo con i campi aggiuntivi che finiscono nel suo DB) essendo CiviCRM un modulo molto pesante, ci impiega 3/4/5 secondi ad apparire... e questo sinceramente mi scoccia un po...

ciao

non so che dirti.
appena ho un attimo faccio qualche prova nella mia sandbox.
ti faccio sapere

te ne sarei grato...

intanto cerco...

ciao

Novità?