[RISOLTO]Filtrare tra "content-profile" in base a campo compilato in fase di registrazione

10 contenuti / 0 new
Ultimo contenuto
[RISOLTO]Filtrare tra "content-profile" in base a campo compilato in fase di registrazione

Ciao ragazzi
mi sto accingendo ad impostare i permessi utente per content-profile e prima di mettermi a provare diverse strade
(le permission standard non sono ufficienti) chiedo un consiglio a voi su quale sia il metodo migliore.

Lo stato dell'arte è questa:
Sto seguendo la procedura standard di Drupal per la registrazione degli utenti ( username-password->mail di verifica-etc)
Dopo che l'utente ha creato il suo user,ha la possibilità di compilare la propria scheda employee (sono diverse perchè ogni tipologia richiede informazioni diverse)

Ho settato più content type per essere utilizzati come profilo degli utenti, quindi ho, mettiamo:
content-type->company employee->content-profile
content-type->agency employee->content-profile
content-type->webfarm employee->content-profile

Succede però che se autorizzo gli utenti registrati a creare/modificare i content profile, in realtà ognuno potrebbe compilare
una qualsiasi di queste schede (o anche più di una ) e fare dei pasticci. La strada di autorizzare solo "own content " non va bene, perchè non mi distingue tra i vari content profile.

Ho pensato allora a questa strada (non sono sicuro che sia quella corretta) :
In fase di prima registrazione dell'utente mi faccio obbligatoriamente indicare, attraverso un campo
creato con "profile" a quale tipo di società appartiene l'utente (company/agency/webfarm).

Ho quindi un dato "filtrabile" che mi dovrebbe permettere al secondo accesso dell'utente di mostrargli solo il content-profile di sua competenza, quindi se è un dipendente "company" creare solo la scheda company_employee.

Se è la strada giusta, come posso filtrare tra i vari content-profile?
Se non lo è quale altro metodo posso utilizzare ?

Grazie mille a tutti e buona serata

<a href="mailto:[email protected]" rel="nofollow">[email protected]</a> wrote:
questo è un lavoro per http://drupal.org/project/autoassignrole[/quote]

..bohz, cominci a farmi paura...le sai TUTTE !!! ;-)

A parte gli scherzi , grazie mille , è proprio quello che fa per me.

Un'info se puoi ; sto usando questo scipt per dare il benvenuto all'utente che si logga

<?php global $user; ?>
Welcome <?php print l($user->name,'user/'.$user->uid); ?>
<?php ?>

ma ha il difetto di mostrare "welcome" anche se nessuno è loggato ...perchè

Ciao

how stupid am I ?
Se non gli dico

<?php
 
<?php if ($user->uid) : 
?>
?>
cosa deve fare il povero php se non eseguire pedissequamente quello che gli viene indicato ?

Come non detto

<?php
if (user_is_logged_in()) {
// utente loggato
 
global $user;
  print
'welcome ' . l($user->name,'user/'.$user->uid);
else {
 
// visitatore
}
 
?>

Il mio codice

<div id="welcome">
<?php global $user; ?>
<?php if ($user->uid) : ?>
Benvenuto <?php print l($user->name,'user/'.$user->uid); ?>
<?php endif; ?></div>

e il tuo

<div id="welcome">
<?php global $user; ?>
<?php if (user_is_logged_in()) : ?>
<?php print "Benvenuto" ." " .l($user->name,'user/'.$user->uid); ?>
<?php endif; ?></div>

ottengono lo stesso risultato..tralasciando il codice dopo else...

si si, certo.
le cose si possono ottenere in più di un modo.
Io preferisco usare l'API di drupal quando posso.

..coerenza del codice e migliori prestazioni ?

semplicemente buon senso: se esiste un livello di astrazione nel core, questo mi garantisce che il codice che utilizzo sia perfettamente integrato e funzionale (anche per le prestazioni) con il resto del sistema.
Ciò non toglie che possano esistere eccezioni dove l'API sia più pesante o meno efficace di soluzioni "fai da te".

Inoltre, usando l'API si scrive in genere meno codice.

uhm...in effetti le API sono li per quello ....
Non mi ci sono mai avventurato perchè sono tante ed il percorso di apprendimento mi sembra lungo e faticoso, ma in effetti potrebbero semplificare di molto la vita in fase di progettazione di un sito e permetterti successivamente di scrivere anche moduli personalizzati.

Mi hai fatto venire la curiosità di metterci la testa :-)

Grazie di tutto