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

[gelöst] Wie kann ich eine bestimmte View filtern?

Eingetragen von moremedia (94)
am 21.07.2010 - 09:23 Uhr in
  • Views
  • Drupal 6.x

Guten Morgen,

ich kämpfe mich schon seit Tagen mit folgendem Problem ab und komme aber zu keiner Lösung. Darum wäre ich echt dankbar wenn mir bitte jemand einen brauchbaren Tipp geben könnte.

Also es gibt einen Inhaltstyp "Ansprechpartner".
In diesem habe ich verschiedene Felder definiert (Name, Tel, Bereich, ...). Den Feldtyp Bereich habe ich als Ankreuzfelder/Auswahlknöpfe definiert und in die Werteliste die Bereiche (Geschäftsleitung, Marketing, Buchhaltung, ...) geschrieben und eine Mehrfachauswahl zugelassen. Das heisst ein Ansprechpartner kann mehr als einem Bereich zugeordnet werden.

Dann gibt es noch einen Inhaltstyp "Produkt".

In diesem habe ich auch verschiedene Felder definiert. Und ab hier habe ich das Problem. Wie kann hier bitte ein Feld erzeugen das auf die Bereiche referenziert? Auf die Ansprechpartner gehts ja.
Ich möchte einen Link erzeugen können, der in der Produktansicht angezeigt wird. Wenn man darauf klickt kommt man auf eine View in der dann die Bereiche mit deren Ansprechpartner dargestellt werden, die vorher ausgwählt wurden.

Bin knapp am verzweifeln ... Würde mir bitte jemand helfen?
Vielen Dank!

‹ Filter mit 2 Auswahlmöglichkeit Exposed Filters mit Abhängigkeit (Node reference) ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Leg doch einfach noch einen

Eingetragen von Exterior (2903)
am 21.07.2010 - 12:05 Uhr

Leg doch einfach noch einen Inhaltstyp "Bereiche" an und erstelle für jeden Bereich einen Node, dann kannst du die doch ganz einfach über NodeReference referenzieren und in Views ausgeben.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wie wäre es wenn Du die Bereiche mit taxonomie ein gibst

Eingetragen von lorden26 (135)
am 21.07.2010 - 12:10 Uhr

Hallo,

wie wäre es wenn du die Bereiche nicht als CCK Feld in die Node schreibst sondern über Taxonomie. Dann gibst Du beide Inhaltstypen für das Taxonomie Vokabular Bereiche frei. Über Views kannst Du dann die Taxonomie begriffe wählen.

Gruß
Tom

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke euch beiden für die

Eingetragen von moremedia (94)
am 21.07.2010 - 12:15 Uhr

Danke euch beiden für die Antworten.
Entschuldigt bitte meine Frage. Da ich aber Neuling bin, weiss ich jetzt nicht welche Variante ich bevorzugen soll. Für mich klingen beide Lösungen gut.
Welche Lösung kann ich als Anfänger besser umsetzen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich kann Dir da schlecht

Eingetragen von lorden26 (135)
am 21.07.2010 - 13:41 Uhr

Ich kann Dir da schlecht raten da ich selber noch Neuling bin. Mir ist halt Taxonomie eingefallen weil ich damit arbeite und ich komme mit dem Taxonomie Modul gut zurecht.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wie würdest du mit Taxonomie

Eingetragen von moremedia (94)
am 21.07.2010 - 13:57 Uhr

Wie würdest du mit Taxonomie in diesem Falle vorgehen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Taxonomy ist natürlich auch

Eingetragen von Exterior (2903)
am 21.07.2010 - 14:22 Uhr

Taxonomy ist natürlich auch eine ganz gute Idee.

Lege ein neues Vokabular an und ordne diesem die Begriffe für die einzelnen Bereiche zu. Außerdem fügst du dieses Vokabular bei den beiden genannten Inhaltstypen ein.
Nun kannst du Nodes für Ansprechpartner erstellen und dabei die Bereiche des Taxonomy-Feldes auswählen. Das gleiche geht auch bei den Produkten.

Außerdem erstellst du eine neue View. Dieser fügst du als Argument einen Taxonomy-Begriff zu und filterst das ganze nach dem Inhaltstyp "Ansprechpartner".

Dann noch eine Seite, welche als Pfad z.B. so aussieht: bereiche/%

Das %-Zeichen wird später durch den Taxonomy-Begriff ersetzt. Ruft man also bereiche/bereich-1 auf, bekommt man alle Nodes aufgelistet, die zu Bereich 1 gehören.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für die ausführliche

Eingetragen von moremedia (94)
am 21.07.2010 - 14:31 Uhr

Danke für die ausführliche Erklärung.
Ich werd es jetzt mal versuchen wie von dir beschrieben umzusetzen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also ich habe jetzt ein

Eingetragen von moremedia (94)
am 21.07.2010 - 15:00 Uhr

Also ich habe jetzt ein Taxonomie Vokabular mit Begriffen erstellt. Diese habe ich auch bei den 2 Inhaltstypen eingebunden. Beim erstellen einer Node habe ich diese auch wie gewünscht ausgewählt.
Jetzt habe ich eine neue View "Ansprechgruppen" erstellt. In dieser View habe ich als Argument Taxonomie gewählt. Als Validator habe ich Taxonomie-Begriff / Vokabular: Bereich gewählt. Und dann habe ich in dieser View noch eine Seite mit dem Pfad bereiche/% erstellt.

Jetzt habe ich aber bitte noch 2 Fragen:
Welche Felder muss ich definieren?
Und wie kann ich aus der Produktansicht heraus dann auf diese View verlinken?

Danke nochmals für die Hilfe!


  • Anmelden oder Registrieren um Kommentare zu schreiben

Zitat: Welche Felder muss ich

Eingetragen von netzkoop (1820)
am 21.07.2010 - 16:10 Uhr
Zitat:

Welche Felder muss ich definieren?

Da du auf Ansprechpartner filterst irgendwelche aus dem Inhaltstypen. Kommt drauf an welche du definiert hast...
Vielleicht Name + Vorname?

Zitat:

Und wie kann ich aus der Produktansicht heraus dann auf diese View verlinken?

Ist die Produktansicht ein Node? Wenn ich das ganze richtig verstanden habe hat ein Produkt einen Bereich(Taxonomy-Term), angenommen mp3...
Der Pfad zu deiner View wäre dann bereiche/mp3

Ist auch die Frage finde ich wie willst du die Ansprechpartner einblenden - auf einer neuen Seite?
Oder nicht eher als Block beim Produkt?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Zitat: Welche Felder muss ich

Eingetragen von Exterior (2903)
am 21.07.2010 - 16:13 Uhr
Zitat:

Welche Felder muss ich definieren?

Die Felder, die du haben willst. Die hier gewählten Felder dienen nur der Darstellung. Wenn du also nur den Titel darstellen willst, nimmst du auch nur den Titel.

Wenn du allerdings die Teaser der Nodes angezeigt haben möchtest, dann stellst du in den Basis-Einstellungen das "Zeilendesign" von "Felder" auf "Node" um.

Dazu bräuchte ich nochmal einen kurze Erklärung, was genau du haben willst. Du möchtest also für jeden zugeordneten Bereich bei "Produkte" bei der Node-Ansicht (nicht beim Node-Eingabeformular) einen Link ausgegeben haben, der dann auf "bereiche/bereich_1" zeigt usw. Stimmt das so? Hast du evtl. eine Beispiel-Seite, auf der sowas praktiziert wird?

Und zu guter letzt: Welches Theme verwendest du?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke euch beiden nochmals

Eingetragen von moremedia (94)
am 21.07.2010 - 16:36 Uhr

Danke euch beiden nochmals für die Antworten.

Also die Ansprechpartner können ja nur in einer neuen View dargstellt werden, da es ja nicht ein einziger ist, sondern immer mehr als einer. Es soll ja auch nicht nur der Ansprechpartner, sondern auch seine Bereich ausgegeben werden. Also ich kann pro Produkt mehrere Bereiche bzw. Ansprechpartner definieren. zB kann das Produkt den Bereichen Vetrieb und Kundencenter unterliegen. Wenn man dann in der Produktansicht auf den Link "Ansprechpartner" klickt, sollen in der neuen View dann auch die 2 Bereiche (Vertrieb + Kundencenter) mit deren Ansprechpartnern (Personen) erscheinen.

Beispiel wenn man in einer Produkansicht auf den Link klickt:

Vetrieb
----------------------
Marianna Mustermann
Tel. 012345678

Max Musterhausen
Tel. 012345678

Kundencenter
-----------------------
Hans Gans
Tel. 012345678

Hannelore Haus
Tel. 012345678

Zitat:

Du möchtest also für jeden zugeordneten Bereich bei "Produkte" bei der Node-Ansicht (nicht beim Node-Eingabeformular) einen Link ausgegeben haben, der dann auf "bereiche/bereich_1" zeigt usw. Stimmt das so?

Ja so sollte es sein bitte.

Zitat:

Ist auch die Frage finde ich wie willst du die Ansprechpartner einblenden - auf einer neuen Seite?
Oder nicht eher als Block beim Produkt?

In einem Block kann ich es leider nicht einblenden, da es zu viele werden und die Site damit extrem hoch werden würde.

Ich benutze das Framework Theme.
Und eine Beispielseite habe ich leider nicht. Ich kann dir sofern du möchtest aber gerne einen Screen im Photoshop zusammen setzen, damit du siehst wie ich es meine.

Vielen Dank für eure Hilfestellung!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Komplexer als gedacht

Eingetragen von netzkoop (1820)
am 21.07.2010 - 16:56 Uhr

Das funktioniert dann mit dem Views-Argument so nicht. Denn du hast bei x möglichen Bereichen pro Produkt x mögliche Argumente/Pfade für die View und nicht nur eins.
Ausserdem muss die View alle Bereiche der Produktnode "kennen" um die entsprechenden Ansprechpartner auszugeben.
Das ist dann vielleicht doch eher was für Nodereference und Beziehungen in der View.
Hat Bereich auch eigene Felder eigentlich?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Habs mir schon so gedacht

Eingetragen von moremedia (94)
am 21.07.2010 - 17:04 Uhr

Habs mir schon so gedacht dass es kompliziert wird.

Nein, Bereich hat keine Felder. Also Bereich ist nur ein Vokabular und besteht nur aus Begriffen.
Wenn ich eine Node Ansprechpartner oder Produkt erstelle kann man dann einen oder mehrere Begriffe aus diesem Vokabular auswählen.

Ich hoffe dass ich euch damit nicht auf die Nerven gehe, aber ich weiss echt nicht weiter.

Danke!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Allerdings hat Luzer recht,

Eingetragen von Exterior (2903)
am 21.07.2010 - 19:54 Uhr

Allerdings hat Luzer recht, so wird das mit den Argumenten nicht ohne weiteres klappen.

Was relativ problemlos möglich wäre:
Man bekommt für jeden Bereich einen Link ausgegeben.

Dann steht z.B. bei einem Node "Ansprechpartner: Vertrieb Kundencenter" und die beiden verlinken jeweils auf eine View, welche die Einträge des Entsprechenden Bereichs listet.

Klickt man also auf "Vertrieb", bekommt man das hier ausgegeben:

Vetrieb
----------------------
Marianna Mustermann
Tel. 012345678

Max Musterhausen
Tel. 012345678

Und klickt man auf Kundencenter, bekommt man eben diese Ausgabe:

Kundencenter
-----------------------
Hans Gans
Tel. 012345678

Hannelore Haus
Tel. 012345678

Wie man beides gleichzeitig in einer View unterbringen soll, weiß ich leider nicht so recht.

Man könnte das vermutlich mit einem eigenen Modul regeln, aber ob deine Kenntnisse dafür ausreichen, weiß ich nicht.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für deine Antwort. Ich

Eingetragen von moremedia (94)
am 21.07.2010 - 21:58 Uhr

Danke für deine Antwort. Ich besitze leider zu wenig PHP Kenntnisse um mir das Modul selbst schreiben zu können.
Ich komme aus der klassischen Grafik und setze mich erst seit sehr kurzer Zeit mit Drupal auseinander. Ich kläre das morgen mal mit meinem Bruder ab und ich würd mich dann nochmals melden.

Schönen Abend noch!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Guten Morgen, danke nochmals

Eingetragen von moremedia (94)
am 22.07.2010 - 09:43 Uhr

Guten Morgen,

danke nochmals für die Hilfestellungen. Wärst du oder ihr bitte so nett und erklärt mir ich es dann so umsetzen kann? Das zumindest pro Bereich dann ein Link erscheint, durch den man dann auf die Ansprechpartner View kommt.

Vielen Dank!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich hab es jetzt erfolgslos

Eingetragen von moremedia (94)
am 23.07.2010 - 08:49 Uhr

Ich hab es jetzt erfolgslos versucht. Aber ich bekomme das mit den Argumenten einfach nicht hin. Das mit den Links in der Produktansicht schaffe ich auch nicht.
Wäre wirklich dankbar über jede Hilfe.

Danke!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich hab eine Idee wie man das

Eingetragen von Tobias Englert (307)
am 23.07.2010 - 10:54 Uhr

Ich hab eine Idee wie man das machen könnte:

Content Taxonomy installieren.
Zum Produkt ein Content Taxonomy Feld für das Vokabular "Bereiche" hinzufügen.

Das Feld heißt in diesem Bsp. auch bereiche. Die Anzahl der möglichen Werte stellst du so ein wie du es möchtest

Dann den folgenden code einfach in deine node.tpl.php einfügen

<?php

$items
= $node->field_bereiche; //Inhalt des Feldes laden
foreach ($items as $item) {
   
$argument = $argument . $item ['value'] . '+';  //Die ausgelesenen Terme verknüpfen
}
$argument = substr($argument,0,strlen($argument)-1); // Am Ende ist ein Plus zuviel, wird hier entfernt
?>

<a href="http://example.com/view_argument/<?php echo $a ?>">
Link zu view mit Argumenten Hier wird der Link mit Argumenten ausgeben. Im Beispiel hat der view den Pfad "view_argument"

Ob das eine gute Lösung ist kann ich nicht sagen, aber es funktioniert

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für deine Antwort und

Eingetragen von moremedia (94)
am 23.07.2010 - 11:11 Uhr

Danke für deine Antwort und das Beispiel. Sitze grad im Zug und kann es erst morgen testen. Ich meld mich morgen dann nochmal.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Cool, das mit dem "+"

Eingetragen von Exterior (2903)
am 23.07.2010 - 13:18 Uhr

Cool, das mit dem "+" zwischen den Argumenten war mir bisher noch nie aufgefallen. Dann dürfte das alles natürlich kein großes Problem sein, allerdings muss man daran denken, bei den Argumenten die Option für mehrere Argumente zu aktivieren, sonst klappt's nicht ;-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Muss ich den das Content

Eingetragen von moremedia (94)
am 26.07.2010 - 09:51 Uhr

Muss ich den das Content Taxonomy Modul auch beim Inhaltstyp "Ansprechpartner" definieren? Damit dann jeder Bereich weiss welche Ansprechpartner diesem Bereich unterliegen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Dafür benötigst du nichtmal

Eingetragen von Exterior (2903)
am 26.07.2010 - 14:51 Uhr

Dafür benötigst du nichtmal unbedingt Content Taxonomy, das funktioniert auch mit dem normalen Core-Taxonomy-Modul, die Taxonomy-Terms kann man in der node.tpl.php auch leicht auslesen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für deine Antwort. Nur

Eingetragen von moremedia (94)
am 26.07.2010 - 15:03 Uhr

Danke für deine Antwort.
Nur wenn ich den Code von shopdogg in meine node.tpl.php einfüge, bekomme ich einen Error:
warning: Invalid argument supplied for foreach() in /home/.sites/28/site1/web/themes/meintheme/node.tpl.php on line 37.

Erklärst mir bitte noch was ich bei den Taxonomie Einstellungen in der View alles definieren muss. Irgendetwas fehlt hier noch, da wenn ich über einen Direktlink auf eine gefilterte View wie zB www.xxx.at/bereiche/bereich-1 zugreifen möchte, bekomme ich eine Fehlermeldung das die Seite nicht gefunden wurde.

Und wie soll ich bitte den angegebenen Link von shopdogg <a href="http://example.com/view_argument/<?php echo $a ?>"> in der Produkt Node einbinden?

Danke!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Na und wie hast du es jetzt

Eingetragen von netzkoop (1820)
am 27.07.2010 - 12:46 Uhr

Na und wie hast du es jetzt gelöst?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich habs so wie von shopdogg

Eingetragen von moremedia (94)
am 27.07.2010 - 12:50 Uhr

Ich habs so wie von shopdogg vorgeschlagen gemacht.
Ein weiteres Modul "computed field" war noch erforderlich. Denn Code Schnippsel von shopdogg habe ich in das Template meiner Produkt Node gesteckt.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das einfügen von extra code

Eingetragen von Tobias Englert (307)
am 27.07.2010 - 15:06 Uhr

Das einfügen von extra code in das Node Template ist durch Computed Field nicht mehr nötig.

Computed Field wird verwendet, damit den Ansprechpartnerlink als Views Feld verwenden kann. Deswegen müssen die Ergebnisse des Computed Field auch in der Datenbank gespeichert werden.

Content Taxonomy wird verwendet, damit die Produkte, denen ein Bereich zugewiesen wird, nicht in eben diesem auftauchen, bzw. damit die Produkt-Nodes keine Bereichs-Tags bekommen.

Man könnte noch prüfen ob einem Produkt Bereiche zugewiesen wurden und nur in diesem Fall einen Link ausgeben. Ich bin allerdings davon ausgegangen, dass jedes Produkt einen Ansprechpartner hat.

Ich hoffe die Screenshots helfen weiter.

Schritt 1: benötigte Felder
Schritt 2: Einstellungen für das content taxonomy field
Schritt 3: Konfiguration des computed field

Code für das Computed Field:
--------------------------------------

Berechneter Code:

$items = $node->field_produkt_bereiche; //Inhalt des Feldes laden
foreach ($items as $item) {
    $argument = $argument . $item ['value'] . '+';  //Die ausgelesenen Terme verknüpfen
}
$argument = '/' . substr($argument,0,strlen($argument)-1); // Am Ende ist ein Plus zuviel, wird hier entfernt
$node_field[0]['value'] = l('Ansprechpartner', 'bereiche'.$argument);

Anzeigeformat:

$display = $node_field_item['value'];

Schritt 4: Der View für die Bereiche
Schritt 5: Argument Einstellungen für den view

AnhangGröße
Schritt_1.png 48.57 KB
Schritt_2.png 135.17 KB
Schritt_3.png 848.02 KB
Schritt_4.png 139.8 KB
Schritt_5.png 1 MB
  • Anmelden oder Registrieren um Kommentare zu schreiben

So ausführlich konnte ich es

Eingetragen von moremedia (94)
am 27.07.2010 - 15:09 Uhr

So ausführlich konnte ich es natürlich nicht beschreiben.
Vielen Dank nochmals an dieser Stelle!

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

Statistik

Beiträge im Forum: 250233
Registrierte User: 20464

Neue User:

  • Znogsnernoimb
  • ByteScrapers
  • Mroppoofpaync

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