Nodes auf Duplikate überprüfen
Eingetragen von reggaefish (190)
am 04.08.2009 - 13:33 Uhr in
am 04.08.2009 - 13:33 Uhr in
Hallo,
ich suche nach einer möglichkeit für folgendes:
Ich möchte eine art digitale "Bibliothek" erstellen, in der man z.B. seine Bücher oder Videos oder CDs eintragen kann. Bücher haben ja immer eine ISBN. Gibt es eine möglichkeit, bei der Eingabe von einem Buch z.B. das Feld "ISBN" zu überprüfen, ob schon ein node existiert in dem die gleiche ISBN vorkommt?
Sachdienliche Hinweise werden gerne angenommen :-)
Grüße und danke
- Anmelden oder Registrieren um Kommentare zu schreiben
Das ist grundsätzlich ..
am 04.08.2009 - 14:54 Uhr
.. möglich, es kommt nur darauf an wie du die Einträge erfasst. Machst du das über einen eigenen Content-Typ, dann nutze die Funktion Hook_nodeapi() mit der Option "validate". Damit fängst du den Node ab bevor er in die DB geschrieben wird.
Gib mal etwas genauere Info's - dann kann ich auch genauer werden.
Gruß
UwBach
"Cooler" wäre es natürlich
am 04.08.2009 - 14:56 Uhr
"Cooler" wäre es natürlich per jQuery im Hintergrund die Eingabe zu checken. Erst ein ganzes Formular ausfüllen und dann nach dem Abschicken vom System eine lange Nase gezeigt zu bekommen kann eine recht frustrierende Erfahrung sein.
--
mortendk: everytime you use contemplate... Thor is striking down from above with his mighty hammer - crushing and killing a kitten!
webseiter.de
Suchmaschinenoptimierung (SEO) & Drupal
ja über so ein jQuery wäre
am 04.08.2009 - 15:02 Uhr
ja über so ein jQuery wäre natürlich cool.
@uwbach
hm. mehr details... eben eine datenbank für z.b. Bücher oder cds, in die man seine bücher/cds eintragen kann. Mit Titel, Autor,...
die sind ja immer eindeutig an der isbn (oder dem strichcode?!) identifizierbar.
jetzt wäre es cool, wenn bei der eingabe geprüft wird:
ISBN schon vorhanden -> Eintragung nicht mehr nötig.
wie gesagt, über so ein jQuery wär natürlich cool, aber da ich kein programmierer bin, müsste das schon relativ "deppensicher" sein ;-)
grüße und danke
-------------------------------------------------
arguing on the internet is like competing in the special olympics
- even if you win, you are still retarded.
-------------------------------------------------
arguing on the internet is like competing in the special olympics
- even if you win, you are still retarded.
Alexander hat natürlich recht ..
am 04.08.2009 - 15:19 Uhr
.. eine Abfrage mit JS während der Eingabe ist sicherlich zusätzlich sinnvoll.
Du solltest dir aber mal etwas mehr Gedanken um die Struktur machen. Hast du eine Ahnung bzw. eine Idee um wie viel Einträge es sich handeln könnte, sollen Bilder dazu hochgeladen werden, gibt es eine Kategorisierung oder andere Selektionsmerkmale, Sollen Rezensionen dazu geschrieben werden, usw.
Von all dem hängt es ab wie du die Daten speicherst. Es macht bestimmt keinen Sinn 1 Mio. Nodes, allem "Node-Balast", für die Bücher zu erstellen, wenn nur ein paar Grundinformationen gespeichert werden sollen. Evtl. ist es dann günstiger diese in einer reinen Daten-DB zu halten und diese über Selects/Viwes auszugeben. Den das Erstellen ist ja nur die eine Seite - die Ausgabe die andere Seite. Und hier funktioniert ein Menü-/Taxonomy-System nur bis zu einer bestimmten Anzahl, sonst wird es unübersichtlich. Versuche dir mal ein Menü mit 1000 oder 10000 Einträgen vorzustellen ..
Gruß
UwBach
ok, ich versuchs nochmal..
am 05.08.2009 - 19:55 Uhr
ok, ich versuchs nochmal.. ;-)
eine seite, die im pronzip eine art online-katalog darstellt. Vielleicht so in Richtung Wikipedia, wenn auch nicht in diesen Dimensionen.
Darin enthalten sind z.B. Bücher, Cds, Dvds,...
Jedes Buch ist anhand von ISBN eindeutig identifizierbar.
Nedes Node "Buch" hat ja dann verschiedene Felder. z.B. Titel, ISBN, Autor, Bewertung,...
Jetzt frage ich mich unter anderem folgendes:
Aus sicht des "Buches" ist z.B. das Feld Autor eine 1:1-Beziehung. d.h. in die Tabelle für den Inhaltstyp werden alle Infos gepackt, die aus sicht des nodes 1:1 sind... wenn ich das bisher richtig inerpretiert hab.
Aus sicht des Autors (die ja bekanntlich mehrere Bücher schreiben können) eine 1:n-Beziehung.
Kann ich irgndwie die Datenbanktabelle (z.B. content_type_book) irgendwie so verschlanken, dass ich zusätzlich eine Tabelle habe mit den Autoren?
Idealerweise ist die Tabelle nicht vorgefertigt (wer kennt schon alle Autoren), sondern dynamisch erweiterbar... Sprich bei eingabe von einem neuen Autor wird die Tabelle erweitert. Bei der Eingabe selbst taucht dann ein autocomplete auf (DAS hab ich schon rausgefunden wie ich das mache)
Ich hoff ihr versteht was ich mein...
Sprich:
Eingabeformular für User
ISBN und nid werden in eine Tabelle gelegt, Autoren im gleichen Formular eingegeben, aber in einer anderen Tabelle abgelegt.
Dann wäre noch die Frage wie ich Doppeleingaben verhindern kann. Eine idee Wäre das auch mit autocomplete zu machen... verhindert Doppeleingaben natürlich nicht vollständig..
Das wären mal so meine gröbsten Fragen...
Ich hoff das war einigermaßen verständlich ;-)
Falls nicht: sorry ;-)
grüße und danke
-------------------------------------------------
arguing on the internet is like competing in the special olympics
- even if you win, you are still retarded.
-------------------------------------------------
arguing on the internet is like competing in the special olympics
- even if you win, you are still retarded.