Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Anfängerfragen ›

Suchergebnisse in einem Webformular nutzen

Eingetragen von typoagrafka (29)
am 16.09.2009 - 10:23 Uhr in
  • Anfängerfragen
  • Drupal 6.x

Hallo,

ich habe hier eine Aufgabe in Drupal und ich habe noch keine Idee, wie ich sie am besten lösen soll. Ich habe schon mehrere Stunden mit diesem Thema verbracht, habe aber noch keinen Weg gefunden, wie ich es lösen sollte. Vielleicht könntet ihr mir ein paar Tipps geben oder den Weg zeigen.

Es geht um folgendes:
Die von mir erstellte Webseite soll eine Datenbank von Büchern haben. Jeder Benutzer sollte in der Lage sein, diese Datenbank durchzusuchen und zum Profil (oder einer extra Seite) diejenigen Bücher aus dieser Datenbank hinzufügen, die er auch besitzt. Falls das gesuchte Buch nicht in der Datenbank ist, sollte er in der Lage sein, es zur Datenbank hinzuzufügen. Außer den Daten, die in der Datenbank stehen und für alle gemeinsam sind, sollte der Nutzer in der Lage sein, weitere Felder zu dem von ihm besitzten Buch zu erfüllen, z. B. Bewertung/Rezension.

Zusammenfassend:
1. Benutzer möchte ein Buch zu seiner Sammlung hinzufügen.
2. Er öffnet zuerst die Suche (am besten sollte man nach verschiedenen Feldern wie Autor/Titel oder auch Volltextsuche einbinden können) und tippt die Angaben ein.
3. Auf der Ergebnissenliste stehen verschiedene Bücher, eins darf ausgewählt werden (am besten durch Radio-Button?).
4. Auf der nächsten Seite ergänzt er den Eintrag durch seine individuellen Angaben. Das Buch wurde zu seiner privaten Sammlung hinzugefügt.
5. Falls die Ergebnissenliste leer ist bzw. das von ihm gesuchte Buch steht nicht innerhalb der Ergebnissenliste, kann der Benutzer einen neuen Eintrag verfassen.
6. Weiter wie Punkt 4.

Ich denke Buch müsste ein node sein. Ich kann schon mit Views eine Liste von Büchern als Tabelle anzeigen lassen, aber ich weiß nicht, wie:
1. ich die Liste filtern kann (= Suche).
2. ich einen Eintrag aus der Liste auswählen und nach weiteren Webformular weitergeben kann.

Hättet ihr für mich Anregungspunkte?

Liebe Grüße,

Joanna

‹ drucklayout erstellen mit veränderbarem Inhalt [gelöst] Logout ohne Anmeldefenster ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Nimm am besten Views...

Eingetragen von R.Hendel (234)
am 16.09.2009 - 11:09 Uhr

Hallo Joanna,

einen Teil Deiner Fragen kann ich Dir hoffentlich beantworten...
Zuerst einmal: Ja - Jedes einzelne Buch ist ein eigener Node.
Für die Suche würde ich nicht die Drupal Suchfunktion verwenden, sondern statt dessen einen View bauen, den die User mit "Exposed Filters" nach diversen Eigenschaften (Inhalte / Taxonomien) filtern können. Von jedem Record aus können die User zur einzelnen Buchseite gelangen um dort Ihre Rezensionen zu veröffentlichen.
Am Fuß des Views würde ich dann einfach einen werblichen Text der Art "Buch nicht gefunden" mit Link zu /node/add/buch ausgeben - dann kann der User von dort aus eigene Titel anlegen.

Die gleichzeitige Aktionen für mehrere Bücher kannst Du möglicherweise mit View-Batch-Actions anbieten. Dies ist ein Modul, dass für Views die selbe Funktionalität anbietet wie Du sie von den Drupal Backend-Masken her kennst: mehrere Inhalte selektieren und gemeinsam löschen / veröffentlichen oder was auch immer.
Hier habe ich aber nicht genau verstanden, was die User an dieser Stelle mit den Büchern tun können.

Hoffe, das hilft Dir weiter.

Schöne Grüße,
Ralf Hendel
Ralf Hendel auf XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Genauere Beschreibung des Problems

Eingetragen von typoagrafka (29)
am 20.09.2009 - 19:10 Uhr

Hallo Ralf, erstmal danke für deine Antwort, ich denke Exposed Filters ist schon mal eine gute Richtung, aber der Rest ist nicht so ganz nach meiner Vorstellung, vielleicht habe ich es zu grob beschrieben.

Lass es mir noch mal anders erklären.

AUFGABE

Alles soll wie eine relationale Datenbank aufgebaut werden, die folgendes beinhaltet:
1. Tabellen
a) Bücher
b) Benutzer

2. Relation
a) Benutzer hat ein Buch (daraus entsteht sein Bücherregal) mit den Attributen:
i) ob Lieblingsbuch
ii) Rezension

3. Darstellungen
a) Profil-Seite eines Benutzers (mit Listen von seinen Büchern, Lieblingsbücher etc.)
b) einzelnes Buch aus der gesamten Tabelle: mit Listen von Benuzer, die das Buch haben, die es mögen, in Leserforum/Rezensionen,
i) nach Möglichkeit auch Liste mit ähnlichen Büchern (z. B. die vom demselben Autor oder andere Ausgabe desselben Buches)
c) einzelnes Exemplar eines Buches aus dem eigenen Bücherregal eines Benutzers mit den Feldern: Lieblingsbuch, Rezension

4. Aktionen
a) Stöbern, z. B. durch Suchen (Exposed Filters o. ä.); beim Anzeigen einzelnes Buches die Möglichkeit, das Buch zur eigenen Sammlung hinzuzufügen und an Diskussion zum Buch teilzunehmen
b) Ausgehend vom eigenen Benutzerprofil ein Buch zum eigenen Bücherregal hinzufügen, dazu "Buch hinzufügen" drücken, wo man die Attribute aus 2a angeben kann + Suche nach dem Buch, und wenn es nicht in der Liste vorhanden ist ggf. einfache Möglichkeit das Buch hinzuzufügen, ohne aber die bereits eingetippten benutzerbezogenen Angaben zu verlieren; es soll am liebsten alles auf einer Seite dargestellt werden, wenn es nicht geht dann als Wizard o. ä.

LÖSUNG/HERANGEHENSWEISE

Nun wie ich es mir vorgestellt habe:
– Benutzerprofil ist ein Node (1b)
– ein Buch ist ein Node (1a)
– die Relation Benutzer hat ein Buch ist ein Node (2a) mit den Feldern Wünschbuch, Lieblingsbuch, Rezension (2a i, ii, iii)

Nun weiß ich nicht, wie ich 1a und 1b via 2a am einfachsten verbinden kann. Ich dachte an das Modul Related Content, aber so wie ich bisher dieses Modul benutzt habe, war das so, dass man zuerst den Node 2a erstellen und speichern musste, dann Related Content aus einem View auswählen und dann evtl. 2a nacheditieren. Das fand ich nicht besonders benutzerfreundlich. Es geht doch bestimmt einfacher, oder?

Ich nehme mal an, wenn diese Relation schon irgendwie definiert ist, dann ist die Anzeige von Listen wie in 3a, 3b, 3c relativ einfache Aufgabe mit Views/Blocks/Panels etc.

Meine Frage ist also, wie ich am besten 4b lösen/gestalten/definieren/konfigurieren kann, damit es benutzerfreundlich ist und die obigen Darstellungen ermöglicht.
Stapelverarbeitung brauche ich erstmal nicht, denn es geht immer nur um ein Buch und einen Benutzer.

Vielleicht wäre die einfachste Methode jedoch, immer von 4a auszugehen, dann auf den einzelnen Node eines Buches zu gehen und dort "das Buch zum Bücherregal hinzufügen" klicken. Leider weiß ich dabei nicht, wie ich dabei das ausgewählte Buch im weiteren Formular identifizieren kann (d. h. node-id von diesem Buch an das Formular "Buch zum Bücherregal eines Benutzers hinzufügen" übergeben).

Der Punkt 3bi ist nicht so wichtig, deshalb nur am Rande, aber wenn ihr vielleicht wisst, wie man es lösen kann, wäre es super, auch ein paar Tipps zu hören.

Die Erklärung ist nun umfangreich geworden, aber ich weiß nicht, wie ich es kürzer fassen sollte.
Ich wäre weiterhin für Hinweise dankbar.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Verwende FLAG für die Relation zwischen Büchern und Usern

Eingetragen von R.Hendel (234)
am 21.09.2009 - 15:35 Uhr

Hallo,
danke für Deine detaillierte Anforderung!
Kennst Du das Modul "Flag"? Ein hilfreiches "light-weight"-Modul: Leicht zu verstehen und zu implementieren. Damit kannst Du sehr leicht flexible Beziehungen zwischen Inhalten und Usern herstellen und kommst ohne komplizierte Datenkonstrukte aus. Besonders angenehm ist dabei die selbsterklärende Benutzerführung: Im Link-Bereich jedes Buch-Nodes erscheinen die Funktionen zum Herstellen bzw. Löschen der Relation. Dort würde sich dann ein Link der Art "in Bücherregal stellen" befinden.

Eine Qualifizierung der Relationen - wie z.B. Lieblingsbuch - ist dabei nicht möglich. Dafür müsstest Du eine eigene weitere Relation erstellen. Das hat zur Folge, dass ein Buch Mein Lieblingsbuch sein kann, ohne dass ich es besitze. In der Realität ist so etwas übrigens möglich - ist also ein Feature und kein Bug ;-).
Angenehm dabei ist, dass der User vom Buch aus jederzeit über die Relation entscheiden muss. Vom Profil aus zu entscheiden, ist nicht so komfortabel, da ich dann erst das Buch suchen muss.

Schön ist, dass das Flag-Modul Views Unterstützung mitbringt. Damit kannst Du sowohl die Links zum Erstellen der Relationen direkt in den Listen mit anzeigen als auch Listen generieren wie "Besitzer dieses Buches" bzw. "Mein Bücherregal".

Ich hoffe, keine Anforderungsmerkmale übersehen zu haben...

Schöne Grüße,
Ralf Hendel
Ralf Hendel auf XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • wmtbpo361x
  • Rolle erstellen nicht zu finden
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • 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
Weiter

Neue Kommentare

  • Rollen
    vor 5 Tagen 17 Stunden
  • Inzwischen sind wir bei
    vor 2 Wochen 2 Tagen
  • Migrieren von D7 auf D8/ D10/ D11
    vor 2 Wochen 3 Tagen
  • melde mich mal wieder, da ich
    vor 10 Wochen 7 Stunden
  • Hey danke
    vor 10 Wochen 1 Tag
  • Update: jetzt gibt's ein
    vor 10 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 10 Wochen 6 Tagen
  • Da scheint die Terminologie
    vor 10 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 11 Wochen 3 Tagen
  • In der entsprechenden View
    vor 11 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250239
Registrierte User: 20467

Neue User:

  • LorisBen
  • StevenEness
  • ocvk2810

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