Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modulsuche ›

Radio Buttons für die User Profile

Eingetragen von katasun (281)
am 13.05.2009 - 11:11 Uhr in
  • Modulsuche
  • Drupal 6.x

Für die Benutzer-Profile suche ich Radio Buttons, zB für männlich, weiblich oder andere Auswahlen. Trotz suche auf Drupal.org nicht gefunden, wie ich es lösen kann.

Hat jemand mal was gesehen oder eine Lösung. Standardmäßig ist es nicht machbar in Version 6.

Gruss

Katasun

‹ Ubercart Modul für Bankeinzug Modulsuche: Letzter Besucher der Usernode ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi, schau dir das hier mal

Eingetragen von Kars-T (1473)
am 13.05.2009 - 11:32 Uhr

Hi,

schau dir das hier mal an und benutze CCK.
http://drupal.org/project/content_profile

oder benutz
http://api.drupal.org/api/function/hook_form_alter/6

---

Viele Grüße,

Kars-T XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Radio Button in den Profilen

Eingetragen von katasun (281)
am 14.05.2009 - 21:37 Uhr

Danke für die Antwort, ich habe einiges gelesen und ausprobiert, besonders auf drupal.org und leider geht es mir so wie vielen Anderen.

user_profile und hook_form_alter verursachen wohl besondere Schwierigkeiten.

Auch in Drupal 7 gibt es bis jetzt noch keine Radio Button in den User-Profilen, ist aber in der ToDo Liste.

Wenn ich aber was übersehen haben sollte, immer her damit.

Gruss an Hamburg

Katasun

  • Anmelden oder Registrieren um Kommentare zu schreiben

Sie sind quasi das Template der Optionsliste.

Eingetragen von quiptime (4972)
am 14.05.2009 - 22:56 Uhr
Zitat:

user_profile und hook_form_alter verursachen wohl besondere Schwierigkeiten

Das sehe ich anders.

Wieso schwierig?

Erstelle im Profil eine Select Liste. Die Category ist "blabla" und das Feld heisst "profile_test_select" Dabei stellt Du Dir vor es waeren Radios.

In Deinem Modulcode musst Du nur noch den Typ select in radios umbenennen.

Schnelles fiktives ungetestetes Snipped um das Formelement bei der "Create new account" Seite zu aendern.

<?php
/**
* Implementation of hook_form_alter().
*/
function user_more_form_alter(&$form, $form_state, $form_id) {
 
  switch (
$form_id) {
    case
'user_register':
     
$form['blabla']['profile_test_select']['#type'] = 'radios';
  }
 
  return
$form;
 
}
?>

Und schon ist aus der Selectliste eine Ansammlung von Radios geworden.

Sollte funktionieren da sich die Radios im Rest des Formelementes ebenso wie Select verhalten. Letzendlich steckt hinter beiden das Gleiche: Eine Optionsliste.

Diese Optionsliste wird eben nur mal so oder so angezeigt. Selbst beim Speichern sollte es keine Probleme geben. Eine Selectliste speichert ebenso wie Radiobuttons die Optionsliste aus einem Array bzw. in ein Array.

Oder anders formuliert.

Fuer das Array der Optionsliste sind Radios oder eine Selectliste nur 2 verschiedene Erscheinungsformen um eine Option auswaehlen zu koennen. Sie sind quasi das Template der Optionsliste.

------------------------
Quiptime Group

  • Anmelden oder Registrieren um Kommentare zu schreiben

fiktives Snipped getestet. Ergebnis: Radios funktionieren

Eingetragen von quiptime (4972)
am 14.05.2009 - 23:15 Uhr

So, eben habe ich mein schnelles fiktives Snipped getestet. Ergebnis:

Radios funktionieren so wie von mir beschrieben.

Ich kann auch nicht nachvollziehen das Du auf keine Loesung gestossen bist bei Deiner Suche. Mein Code zeigt sie auf jeden Fall.

Edit.

Das dazu wenn Du unbedingt mit dem Coreprofile Deine Userprofile pimpen willst.

Wie Kars-T bereits als Hinweis formuliert hat. Nimm "Content Profile". Damit entgehst Du einem eigenen Modul und den Hooks. Obwohl es nur einer ist und nicht mal so schwer.

------------------------
Quiptime Group

  • Anmelden oder Registrieren um Kommentare zu schreiben

Alles probiert, aber immer noch ohne Wirkung

Eingetragen von katasun (281)
am 16.05.2009 - 07:56 Uhr

habe ich probiert, das Modul wird erkannt und auch der Code ausgeführt aber eine Anzeige eines Radio-Buttons habe ich noch immer nicht.

Woran kann es liegen, beim Neuanlegen eines Users wird kein Radio-Button angezeigt, beim Auflisten von Users wird auch kein Radio-Button angezeigt.

Es ist mir auch klar, das es so gehen sollte.

Wie kann ich meinen Fehler aufspüren, welche Variablen muss ich auslesen, in welchem Status muss sich die Form befinden?

Würd mich freuen, einen Tipp zu bekommen.

Gruss

Katasun

  • Anmelden oder Registrieren um Kommentare zu schreiben

HAst du jetzt Content

Eingetragen von Tobias Bähr (4019)
am 16.05.2009 - 10:05 Uhr

HAst du jetzt Content Profile benutzt oder gehst du immer noch über das Kern-Module Profile? Für letzteres gibt es doch sicherlich auch Module, welches die Funktionalität erweitert.

----------------------------------------

http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Ein Forum ist kein Ersatz für das www (Google.de).

  • Anmelden oder Registrieren um Kommentare zu schreiben

Kern-Module Profil

Eingetragen von katasun (281)
am 16.05.2009 - 10:36 Uhr

Grüße erstmal,

habe das mit den Kernmodulen probiert, also ein neues Modul erstellt und die Funktion eingetragen. Aber wie auch immer, bei mir prickelt es nicht.

Auch

$fields['Category name']['field_name']['#type'] = 'radios';

mit den entsprechenden Werten in Kategorie und Fieldname in

function profile_form_profile in 'modules/profile/profile.module' vor

return $fields

hat keine Änderung erbracht.

Da muss ich doch auf einem völlig falschen Pfad wandeln, wenn ich es so nicht ansprechen kann.

Für meine Idee würden halt die "Radio" Knöpfe völlig reichen.

Aber ich werde mich jetzt mal an die Idee mit CCK machen, vielleicht hat das bei der späteren Entwicklung noch Vorteile, Änderungswünsche kommmen ja immer nachdem alles fertig ist.

Gruss

Katasun

  • Anmelden oder Registrieren um Kommentare zu schreiben

Radio Button im modul Content_profile

Eingetragen von katasun (281)
am 16.05.2009 - 11:00 Uhr

Habe jetzt das Modul content_profile und das modul cck installiert.

Ich kann auch hier Gruppen und Felder anlegen, aber ein Radiobutton kann ich auch hier nicht darstellen. Liegt das am Theme das ich verwende? Garland? oder eine Einstellung, die ich nicht kenne oder übersehen habe? Ich habe jetzt auch keine Idee mehr, wo ich suchen muss.

Gruss

Katasun

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du vom CCK Modul das "Option

Eingetragen von Tobias Bähr (4019)
am 16.05.2009 - 11:12 Uhr

Du musst vom CCK Modul das "Option Widgets" Modul aktivieren. Und die Steuerelemente heißen dann "Ankreuzfelder/..."

----------------------------------------

http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Ein Forum ist kein Ersatz für das www (Google.de).

  • Anmelden oder Registrieren um Kommentare zu schreiben

Beispielsweise: profile_gender

Eingetragen von quiptime (4972)
am 16.05.2009 - 11:35 Uhr

Um im Hook form_alter das Feld mit dem zu Radios zu aendernden Typ zu ermitteln beginnt die Aufgabe bereits beim Erstellen dieses Feldes im Coreprofil. Die Coreprofil-Felder gehoeren immer zu einer Category. Weiterhin bekommen alle Felder einen uniquen Bezeichner. Empfohlen wird dabei der prefix profile_ und diesen prefix sollte man auch verwenden bei der Bildung der Bezeichner der Felder.

Beispielsweise: profile_gender

Die Category zu dem dieses Feld gehoert ist beispielsweise: address

Damit hat man 2 konkrete Bezeichner mit denen man im Form-Array im Hook form_alter arbeiten kann.

Mit obigen Bezeichnern spricht man sein Feld so an:

<?php
/**
* Implementation of hook_form_alter().
*/
function my_module_form_alter(&$form, $form_state, $form_id) {
 
  switch (
$form_id) {
    case
'user_register':
     
$form['address']['profile_gender']['#type'] = 'radios';
      break;
  }
  return
$form;
}
?>

Einfache Loesung aber das ist alles.

Nun ist das Ganze irgendwie schon haendisch.
Denn wenn man im Coreprofil den Feldnamen oder seine Category-Zuordnung aendert dann funktioniert der form-alter nicht mehr. Man kann die Prozedur auch "unabhaengiger" gestalten so das sich Aenderungen im Coreprofil nicht sofort und immer im form_alter stoerend auswirken aber dazu gehoert mehr Programmieraufwand.

Zu Beachten ist lediglich noch das wenn das im Coreprofil erstellte Listen-Feld nicht required ist man nach der Typaenderung zu radios einen 1. Radio-button hat den man nicht braucht.

PS
Wenn man die Namen seiner zusaetzlichen Profile Categorien uebersetzbar machen will bietet sich im form_alte die Moeglichkeit:

<?php
/**
* Implementation of hook_form_alter().
*/
function my_module_form_alter(&$form, $form_state, $form_id) {
 
  switch (
$form_id) {
    case
'user_register':
     
$form['address']['profile_gender']['#type'] = 'radios';
     
     
// A translatable Core Profile category.
     
$form['address']['#title'] = t($form['address']['#title']);
     
      break;
  }
  return
$form;
}
?>

Auch das ist nur ein einfaches Beispiel fuer eine Category. Man kann das auch "automatisieren" um alle existierenden Categorien uebersetzbar zu machen.

------------------------
Quiptime Group

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wie kann ich den Fehler finden?

Eingetragen von katasun (281)
am 16.05.2009 - 23:59 Uhr

Danke für den Code. Ich habe ein Modul erstellt mit einem File

custom_profile.info

; $Id: custom_profil.info,v 1.1  $
name = Custom_profil
description = Form changes to radios
package = Core - optional
version = VERSION
core = 6.x

; Information added by drupal.org packaging script on 2009-05-13
version = "6.12"
project = "drupal"
datestamp = "1242243950"

und ein File

custom_profile.module

mit dem Inhalt deines Codes

<?php
/**
* Implementation of hook_form_alter()
*/
function custom_module_form_alter(&$form, $form_state, $form_id) {

  switch (
$form_id) {
    case
'user_register':
     
$form['aaa']['profile_aaa']['#type'] = 'radios';
      break;
  }
  return
$form;
}
?>

In den Profilen habe ich eine Kategorie aaa und ein Feld profile_aaa erstellt mit type selection, Listenauswahlfeld, als Werte habe ich a, b,c,d eingegeben. Wird alles wie gewünscht dargestellt, bis auf die "Radios". Ist Drupal Version 6.

Wo könnte ich mir Variablen ausgeben lassen, die mich weiterbringen. Den Code verstehe ich, auch was passieren soll. Aber warum es bei mir nicht funktioniert, fehlt mir noch.

Gruss

Katasun

  • Anmelden oder Registrieren um Kommentare zu schreiben

gelöst

Eingetragen von katasun (281)
am 19.05.2009 - 19:46 Uhr

nach erneutem Test, sind auch meine geliebten Raiobuttons erschienen.

Vielen Dank

Katasun

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 17 Stunden
  • Hey danke
    vor 2 Wochen 1 Tag
  • Update: jetzt gibt's ein
    vor 2 Wochen 2 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 6 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 4 Tagen
  • In der entsprechenden View
    vor 3 Wochen 4 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 4 Tagen
  • gelöst
    vor 6 Wochen 15 Stunden
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 1 Tag

Statistik

Beiträge im Forum: 250233
Registrierte User: 20452

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 30 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association