Vordefiniertes und ausgewähltes Feld unsichtbar machen.
Eingetragen von fraweg (230)
am 31.01.2012 - 17:34 Uhr in
am 31.01.2012 - 17:34 Uhr in
Hallo zusammen,
ich habe folgendes Anliegen und hoffe, dass mit als Anfänger in diesen Dingen jemand weiter helfen kann.
Ich versuche ein Feld (im „Edit“ des User-Accounts) welches in einer „Select List“ eine Vorauswahl hat und durch das „Required-Häckchen“ schon „angeklickt“ ist , also bei einem „safe“ des User-Accounts gespeichert wird, für die Auswahl unsichtbar zu machen. So dass das Feld im Profil angezeigt wird aber nicht „wählbar“ ist im Edit-Bereich des User-Accounts.
Kann mir dabei jemand unter die Arme greifen?
Danke im Voraus!
Frank
- Anmelden oder Registrieren um Kommentare zu schreiben
Ein verstecktes Feld sollte
am 31.01.2012 - 19:24 Uhr
Ein verstecktes Feld sollte nie "required" sein. Ansonsten, wie bei allen Formularen, mittels hook_form_alter bzw. hook_form_FORMID_alter das Formular vor der Anzeige entsprechend bearbeiten und dieses Feld in der Anzeige Verstecken oder ganz löschen (mittels unset).
Beste Grüße
Werner
Hallo, und danke für die
am 31.01.2012 - 22:56 Uhr
Hallo, und danke für die Antwort!
Ein verstecktes Feld sollte nie "required" sein
Wieso nicht?
Ich glaube ich muss nochmal etwas weiter ausholen um meine Vorhaben klar zu machen. Ich vermute mal ich habe mich duch meine Unwissenheit unpräzise ausgedrückt.
Also:
Ich möchte in dem Account (in meinem Fall speziell umgesetzt mit Profile2) alles in Feldern haben.Diesen hat den Grund, dass ich die Rechte mit "Profile2 Privacy" einschränken möchte. Das bedeutet aber auch, dass ich Blöcke als "Felder" einbinde, da "Profile2 Privacy" nur mit Feldern umgehen kann. Hierzu benutze ich das Modul "Block Reference". Wenn ich nun mit diesem Modul ein Feld erstelle, welches auf einen Block verweist, muss der User es im normalfall unter seinen Profil-Einstellungen auswählen, damit es dann im Profil angezeigt wird. Sinn ist es aber, dass der User weder das Feld auswählen muss noch es zu Gesicht bekommt.
Zum Teil habe ich es umsetzen können in dem ich bei dem Anlegen des Feldes die Einstellungen auf default und required setze. Dieses hat zur Folge, dass es in den User-Einstellungen ausgewählt und markiert ist. Das heißt der User muss nur Speichern klicken und alles wird gut. Das ist meine derzeitiger "Ist" Stand.
nun möchte ich es nur noch unter den User-Einstellungen unsichtbar haben, so das es trotzdem beim speichern ausgewählt ist und der betreffende Block trotzdem im Profil (jedoch nicht unter den Profileinstellungen) angezeigt wird.
Da ich nun aber blutiger Anfänger bin weiß ich nicht genau was und wie ich es anstellen kann. Auch verstehe ich noch nicht was genau
hook_form_alter bzw. hook_form_FORMID_alter
ist und vor allem wo ich es in dem Fall anbringen muss.
Gibt es nicht ein paar einfache css Zeilen mit denen man das Feld in den User-Einstellungen unsichtbar machen kann?
Mit dem Userbild auf der Profilseite also in diesem Fall nicht unter den Profileinstellungen habe ich es so hin bekommen.
/**modified to disable user pictute on profile*/
.profile .user-picture {
display: none;
}
Dort war es auch ein ähnliches Problem. Das Bild sollte gesetzt, jedoch auf der Profilseite nicht sichtbar sein, da es sonnst durch Panel Pane doppelt darsgestellt wäre. Gleichzeitig sollte es aber in Forenbeiträger Artikeln oder anderem angezeigt werden.
Ich weil das es nervig ist einem "Dau" immer wieder diese Dinge zu erklären, aber ich könnte etwas Hilfe wirklich gebrauchen.
Danke im Vorraus.
Frank