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()
http://www.chromeos.eu
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?