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

Auswahlliste in Checkboxen umwandeln

Eingetragen von fawyd (23)
am 25.07.2008 - 09:34 Uhr in
  • Modul-Entwicklung
  • Drupal 5.x oder neuer

Hallo zusammen

Ich möchte gerne eine Auswahlliste in Checkboxen verwandeln. md hat mir jetzt geschrieben, dass dies via hook_form_alter() gelöst werden kann. Frage mich jetzt nur wie genau. Wo muss ich dies eintragen???

Danke für die Hilfe :-)

Gruss Fäbu

Zitat:

neu
Du kannst die Auswahlliste
Eingetragen von md (2824)
am 25.07.2008 - 10:04

Du kannst die Auswahlliste in einem kleinen Modul, mittels dem hook_form_alter(), in Checkboxen umwandeln.

vg
--
md - DrupalCenter

mdwp* :: Drupal Services

‹ Schema wird nicht instaliert Template für Modul/Ausgabe ausschalten ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Leg im Verzeichnis

Eingetragen von md (3717)
am 25.07.2008 - 10:54 Uhr

Leg im Verzeichnis sites/all/modules ein Verzeichnis mit dem Namen "custom" an.
Erzeuge dort zwei neue Dateien:
custom.module und custom.info
Schreib sowas in die custom.info

; $Id: custom.info,v 1.1  $
name = Custom
description = "Form changes"
version = 1.x-dev

und folgendes in die custom.module

<?php
function custom_form_alter($form_id, &$form) {
if (
$form_id == 'user_edit') {
 
$form['Name der Profil Kategorie']['profile_feldname']['#type'] = 'checkboxes';
}

}
?>

Bei 'Name der Profil Kategorie' schreibst du den Namen der von dir angelegten Profilkategorie rein und bei 'profile_feldname' den Namen des gwünschten Felds.

Fertig.

vg
--
md - DrupalCenter

mdwp* :: Drupal Services

  • Anmelden oder Registrieren um Kommentare zu schreiben

funktioniert nur teils...

Eingetragen von fawyd (23)
am 25.07.2008 - 12:18 Uhr

Hey MD

Merci. Es funktioniert so halb. Also es werden alle definierten Felder erstellt. Nur sehe ich immer noch eine Auswahlliste (in welcher jetzt nur eines ausgewählt werden kann).
Ich habe deinen Code genau so geschrieben, lediglich das profile_feldname zu profile_testcheckboxen abgeändert.

Im Admin-Tool bin ich dann zu "Benutzerverwaltung --> Profile" und habe dort ein neues Feld (Format Listenauswahlfeld) mit dem gleichen Namen (profile_testcheckboxen) erstellt.

Hab ich da etwas falsch gemacht?

Gruss Fäbu

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wenn der Name der

Eingetragen von md (3717)
am 25.07.2008 - 12:29 Uhr

Wenn der Name der Profilkategorie stimmt, sollte das funktionieren. Schreib dir zum testen mal an den Anfang der Funktion: var_dump($form)

vg
--
md - DrupalCenter

mdwp* :: Drupal Services

  • Anmelden oder Registrieren um Kommentare zu schreiben

immer noch nicht

Eingetragen von fawyd (23)
am 25.07.2008 - 12:46 Uhr

Das funktioniert immer noch nicht...aber ich bin ein Hornochse. Es geht ja auch, wenn man einfach mehrere Checkboxen unter die gleiche Kategorie nimmt.
Sieht zwar noch nicht so schön aus, weil wenn man 10 davon macht, werden diese untereinander dargestellt anstelle von immer 2 nebeneinander.

Sorry, eigentlich habe ich jetzt genau das gefunden, was ich schon so lange gesucht habe. Man bin ich ein Trottel :-(

Was wäre denn der Unterschied mit deiner Variante gewesen, wenn sie geklappt hätte??

  • Anmelden oder Registrieren um Kommentare zu schreiben

Klappen tut das schon. Schau

Eingetragen von md (3717)
am 25.07.2008 - 13:11 Uhr

Klappen tut das schon. Schau mal hier: http://www.ourbania.de/urban-items
Der Filter auf der rechten Seite ist so entstanden. Ist eigentlich ein Exposed Filter einer View und somit eigentlich ein DropDown.

Der Unterschied ist, dass ich in der Programmierung viel einfacher darauf zugreifen kann, als auf 10 verschiedene Checkboxen. Außerdem ist es manchmal, wie bei Ourbania, einfach nötig.

vg
--
md - DrupalCenter

mdwp* :: Drupal Services

  • Anmelden oder Registrieren um Kommentare zu schreiben

md schrieb Leg im

Eingetragen von fawyd (23)
am 25.07.2008 - 13:28 Uhr
md schrieb

Leg im Verzeichnis sites/all/modules ein Verzeichnis mit dem Namen "custom" an.
Erzeuge dort zwei neue Dateien:
custom.module und custom.info
Schreib sowas in die custom.info

; $Id: custom.info,v 1.1  $
name = Custom
description = "Form changes"
version = 1.x-dev

und folgendes in die custom.module

<?php
var_dump
($form)function custom_form_alter($form_id, &$form) {
if (
$form_id == 'user_edit') {
 
$form['Name der Profil Kategorie']['profile_feldname']['#type'] = 'checkboxes';
}

}
?>

Bei 'Name der Profil Kategorie' schreibst du den Namen der von dir angelegten Profilkategorie rein und bei 'profile_feldname' den Namen des gwünschten Felds.

Fertig.

vg
--
md - DrupalCenter

mdwp* :: Drupal Services

habe genau den Code so wie oben..also nichts ist anders, ausser das Feld profile_testcheckboxen
das var_dump....habe ich auch hinzugefügt..doch keine Umwandlung in Checkboxen (bleibt also ein Listenauswahlfeld) :-(

Könnte es auch anders lösen, wie weiter oben beschrieben (einfach gleicher Kategorienname), aber ich möchte die Felder dann später auch einfach auslesen können... damit man auch danach suchen kann (also z.Bsp. wer hat auch noch gerne Bananen und Äpfel?

Hab ich was falsch gemacht? Gibt mir ja auch kein Fehler...
Komisch...

  • Anmelden oder Registrieren um Kommentare zu schreiben

= Zeichen ein Fehler

Eingetragen von fawyd (23)
am 25.07.2008 - 13:33 Uhr

könnte das = Zeichen der Schlüssel sein? Habs ausprobiert..aber passiert auch nichts.
Weil einmal ist es ein normales Gleich (=) und einmal ein doppeltes (==).

Oder könnte es daran liegen, dass ich das Ganze auf meinen Localhost teste (Xampp)?

  • Anmelden oder Registrieren um Kommentare zu schreiben

fawyd schrieb könnte das =

Eingetragen von md (3717)
am 25.07.2008 - 13:52 Uhr
fawyd schrieb

könnte das = Zeichen der Schlüssel sein? Habs ausprobiert..aber passiert auch nichts.
Weil einmal ist es ein normales Gleich (=) und einmal ein doppeltes (==).

Oder könnte es daran liegen, dass ich das Ganze auf meinen Localhost teste (Xampp)?

== ist für einen Vergleich zweier Variablen = für eine Zuweisung.
Am Localhost liegt es definitiv nicht.

Blöde Frage: hast du das Modul auch aktiviert?

vg
--
md - DrupalCenter

mdwp* :: Drupal Services

  • Anmelden oder Registrieren um Kommentare zu schreiben

:-)

Eingetragen von fawyd (23)
am 25.07.2008 - 13:56 Uhr

... ja soooo geil. Daran habe ich natürlich nicht mehr gedacht. Hätte ich eine Webcam könntest du jetzt meinen roten Kopf sehen, lol.
Danke jetzt funktioniert es wunderbar :-)

Jiiiiiipiiiiiiiiii

  • Anmelden oder Registrieren um Kommentare zu schreiben

Mit den blöden Fragen lieg

Eingetragen von md (3717)
am 25.07.2008 - 14:04 Uhr

Mit den blöden Fragen lieg ich meistens richtig ;-)

vg
--
md - DrupalCenter

mdwp* :: Drupal Services

  • Anmelden oder Registrieren um Kommentare zu schreiben

und doch noch 2 Probleme

Eingetragen von fawyd (23)
am 25.07.2008 - 14:20 Uhr

Da stimmt halt der Spruch "Es gibt keine blöden Fragen" völlig.

Jetzt haben sich leider noch 2 weitere Probleme ergeben.

1. Ich habe das Feld so markiert, dass es in der Registration sichtbar ist...aber dort sollten halt auch Checkboxen kommen und nicht wieder eine Listenauswahl.

2. Im Profil ist das ganze dann nicht zu sehen, besser gesagt, wenn ich das Profil eines bestehenden Users ändern will (mit den neuen Feldern), dann bekomme ich folgende Fehlermeldung:

warning: mysql_real_escape_string() expects parameter 1 to be string, array given in C:\xampp\htdocs\drupal57\includes\database.mysql.inc on line 400.

Der Code, welcher bei der Line ist (fängt bei 395 an):

/**
* Prepare user input for use in a database query, preventing SQL injection attacks.
*/
function db_escape_string($text) {
global $active_db;
return mysql_real_escape_string($text, $active_db);
}

  • Anmelden oder Registrieren um Kommentare zu schreiben

Zu Punkt 1: ergänze den

Eingetragen von md (3717)
am 25.07.2008 - 14:40 Uhr

Zu Punkt 1:
ergänze den Code im Modul so:

<?php
if ($form_id == 'user_edit' or form_id = 'user_register) {
?>

Zu Punkt 2 kann ich nichts sagen, liegt aber nicht an dem custom.module

vg
--
md - DrupalCenter

mdwp* :: Drupal Services

  • Anmelden oder Registrieren um Kommentare zu schreiben

Resumée

Eingetragen von fawyd (23)
am 29.07.2008 - 14:31 Uhr

Leider hat dies alles nicht so geklappt, wie ich mir dies vorgestellt habe. Deshalb habe ich jetzt das ganze Profil mit Advanced User Profile gemacht.
Hoffe aber bald auch anderen helfen zu können :-)

@md: Danke für deine Hilfe

  • 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 4 Tagen 11 Stunden
  • Hey danke
    vor 5 Tagen 6 Stunden
  • Update: jetzt gibt's ein
    vor 6 Tagen 21 Minuten
  • Hallo, im Prinzip habe ich
    vor 1 Woche 3 Tagen
  • Da scheint die Terminologie
    vor 1 Woche 3 Tagen
  • Kannst doch auch alles direkt
    vor 2 Wochen 19 Stunden
  • In der entsprechenden View
    vor 2 Wochen 19 Stunden
  • Dazu müsstest Du vermutlich
    vor 2 Wochen 19 Stunden
  • gelöst
    vor 4 Wochen 4 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 4 Wochen 5 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20449

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» 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 16 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