personalizzare user-profile.tpl.php

3 contenuti / 0 new
Ultimo contenuto
personalizzare user-profile.tpl.php

Salve a tutti
ho creato (tramite profile) dei campi personalizzati che vengono visualizzati nel form di registrazione dell'utente.
Ho modificato il file template.php (drupal 6.x) aggiungendo

<?php
 
function g2_theme(&$existing, $type, $theme, $path) {
  return array(
   
'user_login' => array(
     
'template' => 'user-login', // This refers to the template "user-login.tpl.php".
     
'arguments' => array('form' => NULL),
    ),
     
'user_register' => array(
      
'arguments' => array('form' => NULL),
      
'template' => 'user-register', // this is the name of the template
   
),
   
// any other theme registration code if necessary...
 
);
}
 
?>

e creato 2 file chiamati rispettivamente user-register.tpl.php e user-profile.tpl.php.

user-register.tpl.php contiene il form personalizzato e formattato a dovere utilizzando i campi profile
di cui uno stralcio è il seguente
user-register.tpl.php

<?php
   
<div class="field">
      < ?
php
       $form
['Tipo Registrazione']['profile_tipo_anagrafica']['#attributes'] = array('OnChange' => 'change_pvt_az(this.value)');
      
$form['Tipo Registrazione']['profile_tipo_anagrafica']['#required'] = true;
      
$form['Tipo Registrazione']['profile_tipo_anagrafica']['#prefix'] = '<div id="h_profile_tipo_anagrafica">';
      
$form['Tipo Registrazione']['profile_tipo_anagrafica']['#suffix'] = '</div>';
        print
drupal_render($form['Tipo Registrazione']['profile_tipo_anagrafica']); // prints the username field
     
? >
  </
div>
</
fieldset>
< ?
 
$form['Anagrafica Privata']['titolo_account_privato'] = array('#description' => 'ACCOUNT PRIVATO' );
? >
 <
fieldset><legend><strong>< ?  print t($form['Anagrafica Privata']['titolo_account_privato']['#description']); ? ></strong></legend>
    <
div class="field">
      < ?
php
       $form
['Anagrafica Privata']['profile_cognome']['#size'] = 40;
      
$form['Anagrafica Privata']['profile_cognome']['#required'] = true;
      
$form['Anagrafica Privata']['profile_cognome']['#prefix'] = '<div id="h_profile_cognome">';
      
$form['Anagrafica Privata']['profile_cognome']['#suffix'] = '</div>';
       print
drupal_render($form['Anagrafica Privata']['profile_cognome']); // prints a custom profile field
     
? >
    </
div>
 
?>

Ova vorrei nel file user-profile.tpl.php riportare la stessa struttura del form di registrazione mostrando i dati e potendo modificarli in un form uguale o simile a quello di registrazione. Come fare?
I campi profile sono divisi in categorie Anagrafica Privata, Azienda/Istituto ecc e hanno come nomi profile_cognome, profile_nome ecc...
Ho provato a mettere in user-profile.tpl.php
qualcosa tipo

<?php
print $account-profile_cognome;
 
?>

e visualizza correttamente i dati. Ma come faccio a fargli stampare ad esempio il Titolo (title) o la descrizione (#description che avevo messo nel profile)?
Volendo raggruppare tutte le categorie di profili in un'unica pagina (come per il form di registrazione) come devo fare?
Grazie a chiunque mi possa illuminare!

Py

Perché non hai fatto tutto con il modulo content profile http://drupal.org/project/content_profile, a questo punto ti bastava usare contemplate.
In ogni caso guarda http://drupal.org/node/297727 e vedi se print_r($node) stampa l'arrey, oppure prova con il node_load()

Perchè ho già molti dati inseriti nei campi profile_ dei profili utenti.
Dovrei capire come inserire nel nuovo template fatto con contemplate i campi profile_ del profilo.

Da quello che intuisco un nuoco template fatto con contemplate crea nuovi campi con prefisso field_ e questo a me non serve, avendo già i dati su un'altra struttura dati.

Inizialmente era stato personalizzato il form di registrazione aggiungendo semplicemente altri campi oltre a quelli tradizionali ... poi si è voluto personalizzare la grafica e mettere alcuni campi sulla stessa riga... in tal senso era stato utilizzato il file user-register.tpl.php.

I vari print non funzionano! :(
Altri suggerimenti?