Sono un principiante di Drupal. Quando gli utenti creano il proprio account, hanno la possibilità di avere un modulo di contatto personale. Dove vado a disabilitare questo? Non è nelle autorizzazioni. Non è una cattiva opzione, ma so che confonderà gli utenti del mio sito. Potrebbe anche spaventare un po '!Come disabilitare l'opzione del modulo di contatto personale nel modulo di modifica dell'utente?
risposta
Se si visita admin/costruire/contatti/impostazioni in Drupal 6 o 5 è possibile deselezionare "Enable modulo di contatto personale per default"
Un modulo di contatto personale non è qualcosa che si ottiene di default in Drupal. Ci sono dei moduli che possono farlo, probabilmente hai attivato un modulo del genere. Verifica quali moduli sono stati attivati su admin/build/settings.
Se si desidera disattivare questo per gli utenti regolari solo si dovrebbe invece verificare di impostazioni di autorizzazione.
In entrambi i moduli controllare cosa si è impostato su Drupal, o controllare le impostazioni per i moduli di contatto. Credo che abbia l'opzione per il modulo di contatto a livello di sito e il modulo di contatto utente.
Disabilitare il modulo Contatto in 'Core - Opzionale'. Controlla i permessi degli utenti per qualsiasi cosa relativa a "contatto" e deselezionala.
personalmente raccomando Webform per gestire siti a livello moduli di contatto. Ti permetterà di costruire il tuo modulo con un'interfaccia utente. Il modo più semplice per ottenere una pagina Contattaci.
Drupal 6:
Se si desidera avere il livello di sito modulo di contatto abilitato, ma nemmeno visualizzare l'opzione per un modulo di contatto personale per gli utenti è necessario attenersi alla seguente procedura:
Creare un modulo personalizzato
http://www.hankpalan.com/blog/drupal/make-custom-drupal-module
Aggiungere questo codice al file .module:
funzione your_module_name_form_user_profile_form_alter (& $ form, & $ form_state) {
unset ($ form [ 'contatto']);
}
testato in Drupal 7.
Inserire il seguente nella template.php del vostro tema. Cambia MYTHEME con il tuo nome del tema.
function MYTHEME_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'user_profile_form') {
$form['contact']['#access'] = FALSE;
}
}
Si noti che l'accesso è impostato su falso, anziché essere disinserito(), ovvero rimosso. In questo modo non interferiamo con il flusso di dati.
Drupal 7
Tutte le risposte non rimuovere la sezione per l'opzione di un contatto personale visualizzato (D7) a "utente /%/modificare"
Per rimuovere scheda E impostazioni per Drupal 7:
/**
* Implements hook_form_alter().
*/
function MY_MODULE_form_alter(&$form, &$form_state, $form_id) {
if ('user_profile_form' === $form_id) {
$form['contact']['#access'] = FALSE;
}
}
/**
* Implements hook_preprocess_page().
*/
function MY_MODULE_preprocess_page(&$variables) {
$menu_items = menu_get_item();
if('user/%/edit' === $menu_items['path']){
$variables['page']['content']['content']['content']['system_main']['contact']['#access'] = FALSE;
}
}
Dopo:
La mia risposta rimuove la sezione per l'opzione di contatto personale visualizzata. Controlla il modulo di semplificazione. Fa esattamente ciò che hai fatto qui personalizzato in form_alter. – milkovsky
Usa Contact permissions. Esso fornisce un permesso:
"Avere un modulo di contatto personale", che consente agli amministratori di configurare quali ruoli ottenere la possibilità di avere un "modulo di contatto personali" .
Anche il modulo Simplify ha un'opzione separata per quello.
- 1. modifica della lingua del messaggio di errore nel campo richiesto nel modulo di contatto html5
- 2. Modifica modulo nel modulo drupal?
- 3. indirizzo di risposta nel modulo di contatto php
- 4. iPhone: modulo come nuovo contatto
- 5. Sanitize modulo di contatto senza mysql_real_escape_string
- 6. (Wordpress) Modulo di contatto 7 interruzione nel filtro before_send_mail
- 7. Modulo di contatto in SiteFinity C#
- 8. Codifica UTF-8 per oggetto nel modulo di contatto email
- 9. Modulo di contatto 7 AJAX Callback
- 10. Modulo di contatto email senza PHP
- 11. come disabilitare la casella di controllo del modulo primavera?
- 12. Modulo di modifica di Django basato sul modulo di aggiunta?
- 13. Delphi - modulo nel modulo
- 14. Arresto del modulo predefinito invio nel modulo di convalida Bootstrap
- 15. Come sovrascrivere la visualizzazione del valore del campo nel modulo di modifica dell'amministratore di Django
- 16. jquery per disabilitare gli elementi del modulo
- 17. Modifica informazioni di contatto
- 18. Modulo di contatto Non risposta sull'invio di posta?
- 19. Come creare il mio modulo personale in joomla
- 20. Come disabilitare un elemento specifico nel tipo di scelta del modulo?
- 21. Django: Come escludere il campo modulo se l'utente è personale?
- 22. Come utilizzare la classe di convalida del modulo ExpressionEngine nel modulo per ripopolare il modulo nel modello?
- 23. Modifica del valore di input del modulo con Jquery
- 24. jquery modifica l'URL del modulo invia
- 25. Come nascondere determinati campi nel modulo Modifica utente in Drupal?
- 26. Modulo di invio angolare all'interno del modulo?
- 27. Come disabilitare pagina/modulo in JSF
- 28. Modulo di contatto Wordpress 7 codici brevi personalizzati
- 29. Costruire un modulo di contatto in Umbraco 7
- 30. Come disabilitare la convalida del modulo per ng-clic?
Direi di usare $ form ['contact'] ['# access'] = FALSE; invece di unset ($ form ['contact']); per evitare che interferisca con il nucleo. – timofey