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

eigene Filterfunktion in der node

Eingetragen von airliner (309)
am 16.11.2010 - 10:51 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Moin moin,

ich soll ein Vergleichsportal erstellen und habe mich entschlossen, das CCK-Modul "tablefield" dazu zu nutzen.
Der CSV-Import ist noch ziemlich ruppig, weil die deutsche Excel-Version die CSV statt mit Komma mit Semikolon exportiert, aber das kann man per Hand glatt ziehen.

Da es immer der selbe Aufbau ist, der importiert werden soll, wollte ich das Modul so umbiegen, dass es die Daten nicht nur in die Tabelle content_type_book (es sind alles buchseiten) reinbläst, sondern in eine von mir vorher vorbereitete reinschiebt.

Jetzt wäre die Frage, wie ich es am elegantesten löse.
Die CSV hat 3-4 Spalten und etwa 52 Zeilen. Wobei die ersten 2-3 Spalten nur für die übersichtlichere Ausgabe in der node verantwortlich sind (also den Tabelleninhalt nochmal in Unterkategorien aufteilt). Dadurch verringert sich auch die Zeilenanzahl um etwa 7-8 Zeilen.

Ist das mit dieser Spaltenanzahl überhaupt möglich, das in eine extra-mysql-tabelle zu schreiben oder muss ich auf 2 Spalten beschränken (und dann die ersten kategorisierenden Spalten abschneiden)?

Leider ist das dahinterliegende Konzept noch sehr vage, sonst könnte ich es genauer beschreiben.

Die Filterfunktion soll dann darauf aufsetzen. Ich wollte das mit per Hand erstellten DropDownMenus realisieren.
Die einzelnen DropDowns sollten dann auch möglichst (ist nur ein nice to have mit geringer Priorität) von einander abhängig sein. Es soll nach einem Produkt mit mehreren Merkmalen gefiltert werden. Wird Merkmal 1 ausgewählt, sollen sich die Werte der darauf folgenden DropDowns so ändern, dass nur noch die Merkmale der Produkte über bleiben, die auch Merkmal 1 bedienen.
Beispiel:
Mögliche Produkte sind Autos und Motorräder.
Merkmal eins ist die Anzahl der Spuren. Wird "2" ausgewählt, fallen ab Merkmal zwei sämtliche Werte zu den Motorrädern raus, da sie keine zwei Spuren besitzen.

Über einen ersten Ansatz, wie ich zumindest das tablefield_modul umgebogen bekomme, wäre ich sehr dankbar!

‹ Suche Node Edit System aufheben ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Verstehe im oberen Teil nur

Eingetragen von netzkoop (1820)
am 16.11.2010 - 19:18 Uhr

Verstehe im oberen Teil nur Bhf - aber das:

Zitat:

Die Filterfunktion soll dann darauf aufsetzen. Ich wollte das mit per Hand erstellten DropDownMenus realisieren.
Die einzelnen DropDowns sollten dann auch möglichst (ist nur ein nice to have mit geringer Priorität) von einander abhängig sein. Es soll nach einem Produkt mit mehreren Merkmalen gefiltert werden. Wird Merkmal 1 ausgewählt, sollen sich die Werte der darauf folgenden DropDowns so ändern, dass nur noch die Merkmale der Produkte über bleiben, die auch Merkmal 1 bedienen.
Beispiel:
Mögliche Produkte sind Autos und Motorräder.
Merkmal eins ist die Anzahl der Spuren. Wird "2" ausgewählt, fallen ab Merkmal zwei sämtliche Werte zu den Motorrädern raus, da sie keine zwei Spuren besitzen.

ist eigentlich ein Fall für eine hierarchische Taxonomy und das Modul Hierarchical Select

  • Anmelden oder Registrieren um Kommentare zu schreiben

Der obere Teil ist zur Zeit

Eingetragen von airliner (309)
am 17.11.2010 - 11:24 Uhr

Der obere Teil ist zur Zeit die Krux an dem ganzen Projekt.

Wir erstellen eine Excel-Vorlage, die ausgefüllt zurückgeschickt wird.
Die rechnen wir in eine saubere CSV (nicht den Schrott, den Excel ausspuckt) um und ich will die die per tablefield (CCK-Modul) importieren.
Das funktioniert soweit wunderbar.
Allerdings speichert tablefield sämtliche hochgeladenen CSV in einer einzelnen Zelle, was für mich ungünstig ist.
Denn mit den eingelesenen Daten will ich später eine Filterfunktion realisieren (Hierarchical Select ist zur Zeit das Modul der Wahl dafür).
Damit ich das aber sauber und ohne größeren Aufwand tun kann, will ich die eingelesenen Daten in eine weitere Tabelle reinschreiben (lassen) beim import.
Diese habe ich bereits per Hand erstellt und kann die Daten aufnehmen.

Problematisch wird es allerdings erst jetzt. Die CSV besteht nicht nur aus zwei Spalten, sondern gleich vier. Beispiel:
-Kategorie
--Merkmal (das ist die Spalte in der von mir erstellten Tabelle in der Datenbank)
---Parameter (das ist der zum Merkmal gehörende Inhalt)
----Anmerkungen des Ausfüllenden (also quasi eine Erweiterung des Parameters, falls etwas fehlt in der Excel-Vorlage kann das hier reingeschrieben werden)

Ich habe mir tablefield mal genauer angesehen, werde aber nicht zwingend schlau daraus, wie es Zeilen und Spalten auftrennt, um die Daten dort herauszuziehen.
Wenn ich das weiß, kann ich zumindest die SQL-Query erstellen, die mir die Daten in meine neue Tabelle in der Datenbank kopiert.
Dadurch pflege ich zwar jetzt zwei mal den gleichen Datensatz (nur in anderer Formatierung), aber ich brauche mir keine Gedanken über die Anzeige der Daten in der node, in die ursprünglich importiert wird.

Ich hoffe, das war aussagekräftiger als mein erster Beitrag. ;)

  • Anmelden oder Registrieren um Kommentare zu schreiben

airliner schrieb Allerdings

Eingetragen von Thoor (3678)
am 17.11.2010 - 12:19 Uhr
airliner schrieb

Allerdings speichert tablefield sämtliche hochgeladenen CSV in einer einzelnen Zelle, was für mich ungünstig ist ...

Ich kenne TABLEFIELD nicht, aber wenn es um den Import von CSV Dateien geht, dann würde ich Dir das Modul FEEDS nahelegen. Damit erstellst Du per Import ganz normale Nodes, mit denen Du dann alles gewünschte anstellen kannst.
Ich habe gerade ein kleines Projekt vorgestellt, in dem ich nichts anderes tue, als ne CSV Datei zu importieren und damit Nodes zu erstellen, die ich dann mit VIEWS und Konsorten auswerfe ...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das ist dann nicht das, was

Eingetragen von airliner (309)
am 17.11.2010 - 12:35 Uhr

Das ist dann nicht das, was ich suche.
Tablefield ermöglicht es, Tabellen in Nodes einzufügen und das brauche ich halt.
Folgendessoll in die nodes (erstmal sind 50-100 angestrebt): Text zu Hersteller und Produkt und zu dem Produkt diese standardisierte Tabelle. Klar kann man das alles per Hand reinschreiben (tablefield ermöglicht es festzulegen wieviele Zeilen und Spalten eingefügt werden sollen).
Ich nutze die CSV also nicht dazu, nodes an sich zu erstellen oder wie meintest du das bzw. soll ich das verstehen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

airliner schrieb Ich nutze

Eingetragen von Thoor (3678)
am 17.11.2010 - 13:53 Uhr
airliner schrieb

Ich nutze die CSV also nicht dazu, nodes an sich zu erstellen oder wie meintest du das bzw. soll ich das verstehen?

Hatte ich dann tatsächlich missverstanden! Sorry

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich habe mich die Zeit mal

Eingetragen von airliner (309)
am 23.11.2010 - 11:24 Uhr

Ich habe mich die Zeit mal mit Hierarchical Select und Views beschäftigt, aber komme einfach nicht weiter.
Das Importieren der CSV lasse ich erstmal aus, zur Not müssen die Daten vorerst per Hand integriert werden. Ist ja nicht so viel...

Mitlerweile bin ich dazu übergegangen (ich weiß, ist kein schöner workaround), DropDownMenus hard in die node zu coden, um mir daraus eine SQL-Query zu bauen.
Nur merke ich mitlerweile, dass ich ohne AJAX oder der gleichen nicht sonderlich weit komme, wenn ich wirklich "bedingte" Abfragen bauen will (siehe Beispiel oben mit den Autos und den Motorrädern).

  • Anmelden oder Registrieren um Kommentare zu schreiben

Kannst du mal deine

Eingetragen von netzkoop (1820)
am 23.11.2010 - 13:00 Uhr

Kannst du mal deine Taxonomy-Struktur posten?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Es gibt keine direkte

Eingetragen von airliner (309)
am 23.11.2010 - 13:13 Uhr

Es gibt keine direkte Taxonomy dafür.
Lediglich die Einteilung der Hersteller nach Alphabet (A bis D, E bis H, usw).
Per Views wird eine Übersichtsseite erstellt (quasi der Startpunkt des Buches), aber das bringt mich ja nicht weiter.

Ich überlege mitlerweile auch, ob ich den Filter mittels Radiobutton aufbaue (das meiste ist eh nur ja/nein) und das dann übergebe.
Eine Mehrfachauswahl ist eh erstmal nicht vorgesehen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Dann kann es natürlich mit

Eingetragen von netzkoop (1820)
am 23.11.2010 - 20:24 Uhr

Dann kann es natürlich mit Hierarchical Select nichts werden...
Falls das Problem sein sollte importierte CCK-Felder in eine Taxonomy-Struktur zu bekommen - dafür gibt es das Modul
http://drupal.org/project/content_taxonomy

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • 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
  • 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
Weiter

Neue Kommentare

  • Arrrrg. Nix Tabelle :-D /*
    vor 3 Tagen 37 Minuten
  • Textboxen mit Tabelle
    vor 3 Tagen 7 Stunden
  • Du sollst ja auch keine
    vor 3 Tagen 7 Stunden
  • Theme
    vor 3 Tagen 8 Stunden
  • Welches Theme benutzt du
    vor 3 Tagen 13 Stunden
  • Mit Responsive Raster hatte
    vor 4 Tagen 3 Stunden
  • Hallo Alex,um das Häkchen
    vor 4 Tagen 12 Stunden
  • Modul view_unpublished
    vor 5 Tagen 15 Stunden
  • Modul "override node options"
    vor 6 Tagen 10 Stunden
  • Im Grunde ist dass ein
    vor 1 Woche 1 Tag

Statistik

Beiträge im Forum: 250270
Registrierte User: 20477

Neue User:

  • Robertnobia
  • AltonRaf
  • JeffreyPaf

» Alle User anzeigen

User nach Punkten sortiert:
wla9463
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 22 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