Site-Einstellung zum Ausblenden benutzerdefinierter Felder von der Anmeldeseite

Ich dachte, ich habe eine solche Feature-Anfrage kürzlich gesehen, kann sie aber nicht finden.

Wenn Sie viele benutzerdefinierte Felder haben, sieht das Login-Modal unordentlich aus. Wenn es 10 optionale Felder und 2 erforderliche Felder gibt, muss man viel scrollen, um das/die erforderliche(n) Feld(er) zu finden. Das ist mühsam.

Es ist möglich, diese Felder mit CSS auszublenden, wie zum Beispiel:

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

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

}

Das ist etwas umständlich, da man durch Ausprobieren herausfinden muss, welches nth-of-type zu verwenden ist. Was ich jedoch als :bug: vorschlagen möchte, ist, dass das CSS, das dafür sorgt, dass das Modal richtig aussieht, gelegentlich geändert wird. Es sieht so aus, als ob es in der jüngsten beta6 geändert wurde. Das macht meinen Kunden traurig, da die erforderlichen Felder nicht sichtbar sind und sich daher niemand anmelden konnte. Er hat es nur bemerkt, weil jemand eine E-Mail mit einer Beschwerde geschrieben hat.

Problem gelöst!

CSS wurde zu diesen Feldern hinzugefügt, sodass dies kein Problem mehr ist!

10 „Gefällt mir“

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 „Gefällt mir“

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 „Gefällt mir“

Mir ist gerade aufgefallen, dass ich nach dem Zusammenführen (Merge) nie nachgefasst habe. Auf der Anmeldeseite haben jetzt alle Benutzerfelder eine Klasse im Format user-field-name. Wenn Sie also ein Feld mit dem Namen „Nutzungsbedingungen" haben, erhält es die Klasse user-field-terms-and-conditions.

Alternativ können Sie einen Shortcut nutzen, um alle benutzerdefinierten Benutzerfelder bei der Anmeldung auszublenden:

.d-modal.create-account div[class*="user-field-"] {
    display: none;
}
7 „Gefällt mir“

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 „Gefällt mir“

Hier ist ein geschlossener Thread zur Lösung dieses Problems, der eine CSS-Lösung enthält:

Derzeit gibt es für benutzerdefinierte Benutzerfelder folgende Optionen:

Nach der Anmeldung bearbeitbar?
Bei der Anmeldung erforderlich?
Im öffentlichen Profil anzeigen?
Auf der Benutzerkarte anzeigen?

Ich denke, eine weitere Option wäre sehr nützlich:

Im Anmeldeformular anzeigen?
oder
Im Anmeldeformular ausblenden?

Standardmäßig werden ohne benutzerdefinierte CSS-Änderungen alle benutzerdefinierten Felder (ob optional oder nicht) im Registrierungsformular angezeigt. Dies schränkt die Anzahl der umsetzbaren benutzerdefinierten Felder etwas ein, da zu viele das Registrierungsformular überladen und potenziell einschüchternd für neue Benutzer wirken können.

11 „Gefällt mir“

Manchmal ist es praktisch, eine Reihe benutzerdefinierter Benutzerfelder zu haben, um Informationen abzufragen, die man bei der Registrierung nicht von den Nutzern verlangen möchte. Beispielsweise möchten Sie vielleicht die Möglichkeit bieten, Adresse, Postleitzahl oder Haarfarbe anzugeben, aber bei der Registrierung nur nach Name und E-Mail-Adresse fragen.

Dies ist jetzt möglich, indem Sie eine Theme-Komponente verwenden, um alle benutzerdefinierten Felder auszublenden und dann diejenigen wieder einzublenden, die Sie benötigen. Es wäre schön, wenn es in den Einstellungen für benutzerdefinierte Benutzerfelder eine Checkbox dafür gäbe.

10 „Gefällt mir“

Das wäre großartig.

Es wäre auch hilfreich, Anmeldungen und Eingeladene unterscheiden zu können, insbesondere wenn ein Feld für beide oder nur für Anmeldungen verpflichtend ist.

Zum Beispiel bitten wir die Leute, ihren „Grund für die Teilnahme" anzugeben, um ihre Eignung und Gruppe besser einschätzen zu können. Das ist jedoch redundant, wenn jemand über einen Einladungslink kommt. Das Feld kann aber nicht ausgeblendet werden, wenn es verpflichtend ist, da sonst die Anmeldung für diese Personen fehlschlägt.

3 „Gefällt mir“

Hallo,

Es gibt einige Benutzerfelder auf meiner Website, die bei der Registrierung nicht unbedingt erforderlich sind, z. B. soziale Medien.

Ich denke, wir könnten von einer Option „Nicht bei der Registrierung anzeigen“ profitieren, die sie während der Registrierung ausblendet und nur beim Bearbeiten Ihres Benutzerprofils sichtbar macht.

6 „Gefällt mir“

Sie können dies bereits über CSS erreichen:

Aber ja, es wäre sehr schön, dies als explizite Option zu haben! Es wurde jetzt schon ein paar Mal angefragt.

Ich habe alle #feature-Themen dazu in diesem Thema zusammengefasst.

4 „Gefällt mir“

Es hat auch in diesem Thema etwas Anklang gefunden:

11 „Gefällt mir“

Hat sich am Anmelde-Modal etwas geändert, das dazu führen könnte, dass dieser CSS-Code nicht mehr funktioniert?

Ich kann keine benutzerdefinierten Felder auf der Anmeldeseite ausblenden, weder mit dem Code aus dem ersten Beitrag von @pfaffman noch mit dem Code von @awesomerobot:

Ich habe den CSS-Code unter Themes > Common > CSS angewendet.

2 „Gefällt mir“

Es scheint, dass woanders in Discourse spezifischeres CSS hinzugefügt wurde, das display:none überschreibt…

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

Ich werde mir :point_up: genauer ansehen, ob wir so spezifisch sein müssen, aber in der Zwischenzeit sollte dieses :point_down: Update funktionieren:

.d-modal.create-account div[class*="user-field-"] {
  display: none;
}
2 „Gefällt mir“

Bestätigt, das hat perfekt funktioniert, um sie alle auszublenden!

Vielen Dank Kris @awesomerobot :smiley:

1 „Gefällt mir“

Eine Einstellung zum Ausblenden von Benutzerfeldern aus dem Registrierungsformular wurde hinzugefügt:

3 „Gefällt mir“

Dieses Thema wurde 3 Tage nach der letzten Antwort automatisch geschlossen. Neue Antworten sind nicht mehr möglich.