Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

Eindeutige Profil-Felder definieren

Eingetragen von korinor (2)
am 05.08.2009 - 17:53 Uhr in
  • Allgemeines zu Drupal
  • Drupal 6.x

Hallo,

ich bin auf der Suche nach einer Möglichkeit, wie in einem Benutzerprofil eigene Felder angelegt werden können, bei denen die Inhalte nur einmal vorkommen können, z.B. ein Autokennzeichen.

Ich habe ein zusätzliches Feld anlegen können, aber auf welchem Weg bzw. mit welchem Modul kann ich relativ einfach einen Code einbauen, der

1. Das Feld auf ein gewisses Eingabeformat hin prüft und
2. sicherstellt, daß es den Inhalt nicht bereits gibt.

Nachdem Drupal zusätzliche Profilfelder nicht 1:1 in der MySQL-Datenbank abbildet, scheidet der Versuch, das entsprechende Feld einfach "unique" zu setzen, aus (mal davon abgesehen, daß wohl die mySQL-Fehlermeldung direkt ausgegeben würde, was unschön aussieht).

Ich hoffe, es kennt jemand diese Problematik und weiß eine Lösung, ich bin noch recht frisch, was Drupal angeht.

Vielen Dank im Voraus
korinor

‹ Wie Bildupload auf Seite umsetzen? Tag Cloud innerhalb der View ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Ideen: in einem eigenen

Eingetragen von netzkoop (1820)
am 06.08.2009 - 14:11 Uhr

Ideen:
in einem eigenen Modul eine validate function für das Formular definieren.
http://api.drupal.org/api/file/developer/topics/forms_api.html

Oder falls deine Profile Nodes sind:
http://www.drupalcenter.de/handbuch/14954

Es mit einem von diesen versuchen:
http://drupal.org/project/validation_api
http://drupal.org/project/ajax

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo luzer, erst mal sorry,

Eingetragen von korinor (2)
am 19.08.2009 - 18:29 Uhr

Hallo luzer,

erst mal sorry, daß meine Antwort etwas spät kommt. Ich hatte mich zwischenzeitlich in deine Vorschläge etwas eingelesen und bin dann bei der validation_api hängengeblieben, da ich ganz normale "Core profile" von Drupal benutze.

Da ich nicht ganz der Profi bin, hatte ich mit der validation_api etwas zu kämpfen, weil mir die Dokumentation etwas zu knapp ist. Aber ich habe es geschafft, was ich wollte.

Wie schon beschrieben, habe ich ein Feld angelegt, welches der User selber eintragen darf, ist also kein Pflichtfeld. Aber wenn er was reinschreibt, soll es eindeutig sein, d.h. ein anderer User kann nicht das gleiche reinschreiben. Zusätzliche habe ich eine Regel eingebaut, die die Eingabe auf gewisse Formatierungen prüft, das hat mit einer REGEX-Regel von validation_api ganz gut geklappt.

Als PHP-Script habe ich folgendes eingetragen:

<?php
// UID des aktuellen Users
$my_uid = $GLOBALS['user']->uid;

// Datenbank prüfen, ob das Kennzeichen bereits vorhanden ist
// fid = Feld-ID von Feld KFZ-Kennzeichen, in Tabelle profile_fields ersichtlich
$query = "SELECT count(*) AS anzahl FROM profile_values WHERE fid = 2 AND value = '".$value."' AND uid <> ".$my_uid;
$result = db_query($query, array(), array('fetch' => PDO::FETCH_ASSOC,) );
$anzahl = $result->fetch_row();

// Wenn die Anzahl = 0, dann wurde das eingegebene Kennzeichen nicht in der Datenbank gefunden,
// Eingabe ist also in Ordnung und kann gespeichert werden (return TRUE). Ansonsten ist der Wert
// bereits vorhanden und kann nicht gespeichert werden.
if ($anzahl[0] == 0) { return TRUE; } else { return FALSE; }
?>

Ich hoffe, daß das jemandem weiterhilft. Ich finde nämlich die validation_api sehr gelungen, ist für Einsteiger aber schwer verdaulich, wenn die Dokumentation mehr für Profis ausgerichtet ist. Ehrlich gesagt hatte ich das auch nicht umrissen, daß ich die <?php  ?> am Anfang und Ende nicht mit eingeben darf, man in jedem Eintrag zum Thema Google aber in der Form so vorfindet. Das verwirrt.

Grüße
korinor

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
Weiter

Neue Kommentare

  • Was für einen Server benutzt
    vor 4 Tagen 3 Stunden
  • Wenn die Subdomain auf
    vor 6 Tagen 1 Stunde
  • ordnerstruktur
    vor 6 Tagen 12 Stunden
  • Die Subdomain muß auf den
    vor 1 Woche 1 Tag
  • Verwende doch das Tag dafür,
    vor 4 Wochen 3 Tagen
  • Guckst du hier: step by step
    vor 4 Wochen 3 Tagen
  • Guckst du hier: step by step
    vor 4 Wochen 3 Tagen
  • Ich habe ja keine Angst vor
    vor 5 Wochen 5 Tagen
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 6 Wochen 23 Stunden
  • Vielen Dank erst einmal, aber
    vor 6 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250289
Registrierte User: 20513

Neue User:

  • Scottteday
  • MichaelPeeno
  • Pavlotog

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
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