Group By
am 10.07.2008 - 20:02 Uhr in
Ich habe Views installiert und möchte nun eine Liste von Fahrzeugen ausgeben. Es gibt ca. 1000 Angebote aber ich möchte erst einen View auf die Hersteller machen und wenn man darauf klickt, dann sollen die Angeobte für den Hersteller angezeigt werden.
Das klappt irgendwie nicht so, wie ich es gern hätte. Wie kann ich z.B. die Hersteller gruppieren. In normalen SQL wäre es z.B.
SELECT 'herstellername' FROM angeobte WHERE 1 GROUP BY herstellername ORDER BY herstellername ASC
Das würde ich gern mit Views hinbekommen um danach folgendes hinzubekommen
SELECT * FROM angebote WHERE 'herstellername'='Mercedes' order by 'einsellungsdatum' ASC Limit 10
Das kann doch nicht so schwierig sein.
- Anmelden oder Registrieren um Kommentare zu schreiben
Kann man den SQL, den Views
am 10.07.2008 - 20:03 Uhr
Kann man den SQL, den Views generiert vielleicht händisch irgendwie modifizieren ? (-:
Wenn du eine ListView macht,
am 10.07.2008 - 20:53 Uhr
Wenn du eine ListView macht, kannste GROUP BY für einzelne Felder Einstellen
Sonst
<?php
function hook_views_query_alter(&$query, &$view, $summary, $level) {
$query->add_groupby = 'feldname';
}
?>
Das ganze in einem Modul Implementieren
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING
Wo kann ich das einstellen
am 10.07.2008 - 23:22 Uhr
Wo kann ich das einstellen ... das ist genau mein Problem ... ich finde nicht, wo das Einstellbar ist.
dereine schrieb Das ganze
am 10.07.2008 - 23:33 Uhr
Das ganze in einem Modul Implementieren
Übersetzt: Du musst dir ein eigenes Modul schreiben.
--
http://www.alexander-langer.de
Suchmaschinenoptimierung (SEO) & Drupal
Wie jetzt, solche MySQL
am 14.07.2008 - 12:46 Uhr
Wie jetzt, solche MySQL Standard Funktion wie GROUP BY oder LIMIT wurde nicht in Views implementiert ??
Vieleicht kann ja mal jemand eine kurze Anleitung schreiben wie man das am besten umsetzt.
--------
Active-Media-Production
Individual Web Development and Design
--------
Active-Media-Production
Individual Web Development and Design
Zunächst einmal handelt es
am 14.07.2008 - 13:02 Uhr
Zunächst einmal handelt es sich bei GROUP By und LIMIT nicht um MySQL-spezifische Funktionen. Beide sind in ANSI SQL92 spezifiziert.
Dann sieht es so aus, dass Views nicht mit der Prämisse entwickelt wurde ein Strickwerkzeug für sämtlich mögliche SQL-Abfragen zu entwickeln. Es handelt sich eher um ein Werkzeug für SQL-Agnostiker. Wer mehr Kontrolle benötigt / wünscht, kann ja problemlos SQL-Abfragen absetzen und muss sich nicht mit Views herumschlagen.
Wer keine Pager einsetzen möchte und ein "echtes" LIMIT braucht, sollte mal einen Blick in die API werfen. Dazu gibt es hier im Fiorum u.a. auch schon diesen Thread: http://www.drupalcenter.de/node/5602 . Evtl. kann dir gruppierungstechnisch auch http://drupal.org/project/views_groupby_pack helfen.
--
http://www.alexander-langer.de
Suchmaschinenoptimierung (SEO) & Drupal
Re: Group By
am 14.07.2008 - 13:13 Uhr
... aber ich möchte erst einen View auf die Hersteller machen ...
Lege einen Inhaltstyp "Fahrzeughersteller" an. Lege für jeden Hersteller einen Node des Typs Fahrzeughersteller an. Modelliere den Inhaltstyp von Angeboten so, das der Benutzer einen Hersteller aus der Liste der Fahrzeughersteller auswählt.
Vorteile:
Nachteile:
--
Mein Vorschlag: Einen
am 14.07.2008 - 14:05 Uhr
Mein Vorschlag: Einen Nodetyp als Hersteller und einen als Fahrzeug erstellen.
Für beide legst du eine Kategorie (Taxonomy free tagging) an. Anschließend brauchst du nur noch auf den Hersteller klicken und du bekommst alle Fahrzeuge die den Tag z.B Mercedes Benz haben.
www.webkatapult.de