Impostazione sito per nascondere i campi utente personalizzati dalla pagina di registrazione

Pensavo di aver visto una richiesta di funzionalità simile di recente, ma non riesco a trovarla.

Se hai molti campi personalizzati per gli utenti, la finestra di accesso diventa poco elegante. Se ci sono 10 campi opzionali e 2 obbligatori, bisogna scorrere molto per trovare quello/i obbligatorio/i. È una seccatura.

È possibile nascondere quei campi con il CSS come segue:

.create-account .user-fields .user-field {
    display: none;

    &:nth-of-type(4){
        display: block;
    }

}

È un po’ fastidioso, poiché devi indovinare quale nth-of-type usare per tentativi ed errori, ma ciò che potrei suggerire come :bug: è che il CSS che funzionava per far apparire correttamente quella finestra di accesso cambia di tanto in tanto. Sembra che sia stato modificato nella recente beta6. Questo rende il mio cliente triste, poiché i campi obbligatori non sono visibili, quindi le persone non potevano registrarsi. Lo ha scoperto solo perché qualcuno ha inviato una email per lamentarsi.

Problema risolto!

È stato aggiunto del CSS a quei campi, quindi questo non è più un problema!

10 Mi Piace

I don’t think it would be hard to add a class or data attribute that includes the custom field’s name, which would make it much less fragile to target with CSS. I can probably get to that within the next couple of days.

7 Mi Piace

Took a quick look and it’s nearly identical to another PR I opened recently to add a class to tag groups. So here’s a PR for this… we might want to add a helper to sanitize class names before merging these?

9 Mi Piace

Ho appena realizzato che non ho mai fatto seguito dopo che questa modifica è stata unita. Ora, nella pagina di registrazione, tutti i campi utente hanno una classe sotto forma di user-field-nome. Quindi, se avessi un campo con il nome “termini e condizioni”, avrebbe la classe user-field-termini-e-condizioni.

Puoi anche prendere una scorciatoia e nascondere tutti i campi utente personalizzati durante la registrazione con:

.d-modal.create-account div[class*="user-field-"] {
    display: none;
}
7 Mi Piace

Thanks! I managed to get this done a week or two ago. You might edit that list to also include the css to un-hide a field or two after hiding the rest.

2 Mi Piace

Ecco un thread chiuso relativo alla risoluzione di questo problema, che include una soluzione CSS:

Attualmente, per i campi utente personalizzati, le opzioni sono:

Modificabili dopo la registrazione?
Obbligatori durante la registrazione?
Mostrati nel profilo pubblico?
Mostrati nella scheda utente?

Penso che un’altra opzione sarebbe molto utile:

Mostrati nel modulo di registrazione?
oppure
Nascosti nel modulo di registrazione?

Per impostazione predefinita, senza modifiche CSS personalizzate, tutti i campi personalizzati (obbligatori o meno) vengono visualizzati nel modulo di registrazione. Questo limita in una certa misura il numero di campi personalizzati che possono essere implementati, poiché un eccesso di campi può rendere il modulo di registrazione sovraccarico e potenzialmente intimidatorio per i nuovi utenti.

11 Mi Piace

A volte è utile avere una serie di campi utente personalizzati per raccogliere informazioni che non si desidera chiedere agli utenti durante la registrazione. Ad esempio, potresti voler permettere di fornire indirizzo, codice postale o colore dei capelli, ma durante la registrazione chiedere solo nome e indirizzo email.

Questo è ora possibile utilizzando un componente del tema per nascondere tutti i campi personalizzati e poi mostrare solo quelli desiderati. Sarebbe utile avere una casella di controllo nelle impostazioni dei campi utente personalizzati.

10 Mi Piace

Sarebbe ottimo.

Sarebbe anche utile poter distinguere tra le iscrizioni e gli invitati, soprattutto se un campo è obbligatorio per entrambi o solo per le iscrizioni.

Ad esempio, chiediamo alle persone di fornire il “Motivo dell’iscrizione” per aiutarci a valutare la loro idoneità e il gruppo di appartenenza. Questo risulta ridondante quando le persone arrivano tramite un link di invito, ma non può essere nascosto se è obbligatorio, altrimenti si blocca il processo di iscrizione per loro.

3 Mi Piace

Ciao,

Ci sono alcuni campi utente sul mio sito che non sono davvero necessari al momento dell’iscrizione, come i social.

Penso che potremmo beneficiare di un’opzione “Non visualizzare all’iscrizione”, che li nasconda durante l’iscrizione e li renda visibili solo durante la modifica del profilo utente.

6 Mi Piace

Puoi già ottenerlo tramite CSS:

Ma sì, sarebbe molto bello averlo come opzione esplicita! È stato richiesto alcune volte.

Ho combinato tutti gli argomenti Feature in questo argomento.

4 Mi Piace

Ha anche ottenuto un po’ di trazione anche in questo argomento:

11 Mi Piace

È cambiato qualcosa nella modale di iscrizione che potrebbe causare il mancato funzionamento di questo CSS?

Non riesco a nascondere alcun campo personalizzato nella pagina di iscrizione utilizzando il codice nel primo post di @pfaffman né riesco a nascondere tutti i campi personalizzati utilizzando il codice di @awesomerobot:

Ho applicato il CSS a Temi > Comune > CSS.

2 Mi Piace

Sembra che sia stato aggiunto del CSS più specifico altrove in Discourse, e questo sta sovrascrivendo display:none

.d-modal.create-account .user-field {
  display: flex;
}

Darò una rapida occhiata a :point_up: per vedere se dobbiamo essere così specifici, ma nel frattempo questo aggiornamento :point_down: dovrebbe funzionare:

.d-modal.create-account div[class*="user-field-"] {
  display: none;
}
2 Mi Piace

Confermato, ha funzionato perfettamente per nasconderli tutti!

Grazie mille Kris @awesomerobot :smiley:

1 Mi Piace

È stata aggiunta un’opzione per nascondere i campi utente dal modulo di registrazione:

3 Mi Piace

Questo argomento è stato chiuso automaticamente 3 giorni dopo l’ultima risposta. Non sono più ammessi nuovi messaggi.