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

(gelöst/workaround) Views Group By - ich raff's nicht!

Eingetragen von codeherr (73)
am 28.08.2010 - 10:16 Uhr in
  • Views
  • Drupal 6.x

Ich seh mal wieder den Wald vor lauter Bäumen nicht.

Was ich erreichen möchte, ist eine Auflistung, in der von jedem node.type genau einer, nämlich der aktuellste, Beitrag erscheint.

Ich habe so ziemlich alle Varianten durchprobiert, aber entweder erhalte ich Fehlermeldungen wegen ungültiger Queries oder ein Ergebnis, das nicht dem gewünschten entspricht.

Bevor ich mich lang ausbreite, findet sich bestimmt jemand, der genau sowas schon mal erfolgreich umgesetzt hat und mir verraten kann, wie :-)

‹ [gelöst] Begriff einer bestimmten Ebene einer Taxonomie ausgeben unter Views? [gelöst] View gefiltert mit dem Ergebnis einer anderen View ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Gerne, sobald ich das

Eingetragen von firstlevel (519)
am 03.09.2010 - 11:32 Uhr

Gerne, sobald ich das Probleme verstehe, bzw die anderen vielleicht auch.

View erstellen -> Node - Sortierkriterium -> z.B. Beitragsdatum

ungültige Queries wordurch?

Poste mal bitte ein paar mehr Infos

  • Anmelden oder Registrieren um Kommentare zu schreiben

Subquery nötig

Eingetragen von codeherr (73)
am 04.09.2010 - 14:04 Uhr

OK, etwas genauer.

1.) Welche Daten habe ich
Verschiedene Inhaltstypen (Kategorien), z.B. (fiktiv) "Berichte aus der Region", "Kochrezepte" und "Kolumne". In jeder Kategorie kommen laufend Beiträge hinzu.

2.) Was will ich erreichen?
Ich will mit möglichst einer einzigen View auf der Startseite pro Kategorie einen Teaser haben. Dieser soll auf den aktuellsten Beitrag in dieser Kategorie hinweisen.

3.) Was ist das Problem?
Ich bin natürlich inzwischen schon weiter und habe, da ich wie gesagt kein SQL-Anfänger bin, mal versucht, das, was ich vorhabe, in SQL abzubilden. Und dabei ist mir inzwischen auch klar geworden, daß ich das mit Views so nicht gelöst kriegen werde. Grund: Ich muß eine Unterabfrage machen, und das kann Views, wenn ich nichts übersehen habe, wohl nicht. Mein Query müßte nämlich (vereinfacht!) lauten:

SELECT * FROM (SELECT * FROM node ORDER BY sticky DESC, created DESC) AS sub GROUP BY type

Da ich ja in einem einzigen Query nicht erst sortieren und dann gruppieren kann (soweit mein SQL-Wissen denn reicht).

Kann ja aber sein, daß ich trotzdem was übersehe ;)

(Nachtrag: Im Moment helfe ich mir, indem ich einfach für jede der nicht allzuvielen Kategorien das Subquery manuell mit "LIMIT 1" als Anhangs-View gebaut habe und diese dann nacheinander an die Startseitenview hänge. Aber eleganter wäre ja auch nicht schlecht.)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Felder als Nodes ausgeben.

Eingetragen von docmiller (89)
am 15.09.2010 - 13:31 Uhr

Soll das ein Node- oder Feldview sein?

Für den Fall eines Feldviews geht das ganz einfach. Als Gruppierung einfach den Inhaltstypen wählen und als Sortierung das Beitragsdatum angeben.

Wenn das ganze ein Nodeview sein soll, bleibst du einfach bei der gleichen Viewkonfiguration, fügst aber als Feld noch die NID hinzu.

Dann erstellst Du ein Template in deinem Theme "views-view-fields--[name des Views]--[name der Viewseite].tpl" (mehr Informationenen findest Du auch unter dem Abschnitt "Theme" in den Vieweinstellungen). In das Template kommt dann folgender Code rein:

<?php
// Deswegen die NID als Feld
$this_node=node_load($row->nid);
print
node_view($this_node);
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich hab das so

Eingetragen von sepp68 (444)
am 15.09.2010 - 13:46 Uhr

Ich hab das so http://www.drupalcenter.de/node/27812 gelöst

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich hab das so

Eingetragen von sepp68 (444)
am 15.09.2010 - 13:46 Uhr

Ich hab das so http://www.drupalcenter.de/node/27812 gelöst

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich hab das so

Eingetragen von sepp68 (444)
am 15.09.2010 - 13:46 Uhr

Ich hab das so http://www.drupalcenter.de/node/27812 gelöst

  • Anmelden oder Registrieren um Kommentare zu schreiben

docmiller schrieb Als

Eingetragen von codeherr (73)
am 15.09.2010 - 14:35 Uhr
docmiller schrieb

Als Gruppierung einfach den Inhaltstypen wählen und als Sortierung das Beitragsdatum angeben.

Das führt bei mir aber zu folgendem Ergebnis (in der Vorschau) (fiktiv):

Typ: Artikel
- Artikel 1
- Artikel 2
- Artikel 3

Typ: Seite
- Seite 1
- Seite 2
...

Ich möchte aber:

- Artikel 1
- Seite 1
...

Mit "gruppieren" meinst du doch Basiseinstellungen -> Design -> Einstellungen? Oder wo kann man das noch?

Und selbst wenn es eine "Group by" funktion gibt, bin ich doch sofort wieder beim Ausgangsproblem: SQL gruppiert erst und sortiert dann (-> Subselect nötig bzw. Subview) Ich habe dann zwar je eine Zeile pro Nodetyp, aber eben nicht zwingend die aktuellste. Aber ich probiere es gern aus, wenn du mir sagen kannst, wo das mit dem Gruppieren noch mal an anderer Stelle geht :-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

sepp68 schrieb Ich hab das so

Eingetragen von codeherr (73)
am 15.09.2010 - 14:41 Uhr
sepp68 schrieb

Ich hab das so http://www.drupalcenter.de/node/27812 gelöst

Da geht es ja quasi um Sub-Selects im weitesten Sinne. Muß ich mir mal anschauen, ob ich das für meinen Fall irgendwie adaptieren kann. Sieht jedenfalls nicht verkehrt aus!

  • Anmelden oder Registrieren um Kommentare zu schreiben

codeherr][quote=docmiller

Eingetragen von docmiller (89)
am 15.09.2010 - 14:44 Uhr
codeherr][quote=docmiller schrieb

Ich möchte aber:

- Artikel 1
- Seite 1
...

Entschuldige bitte, da habe ich Dich wohl misverstanden. Hast Du schon http://drupal.org/project/views_groupby versucht?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Views GroupBy

Eingetragen von codeherr (73)
am 15.09.2010 - 14:59 Uhr
docmiller schrieb

Entschuldige bitte, da habe ich Dich wohl misverstanden. Hast Du schon http://drupal.org/project/views_groupby versucht?

Kein Problem, jeder Hilfsversuch ist ja willkommen :-)

Ja, habe ich probiert. Daher der Titel des Threads (auch wenn das nicht zwingend eindeutig erkennbar ist). Der Punkt ist: Views ist ja (im tiefsten Herzen und abgesehen von den vielen schönen Extras) nichts anderes als ein click-and-build für "Views" wie man sie auch aus dem händischen SQL kennt. Es kann also die Regeln von SQL nicht brechen. Das Modul implementiert seinerseits bisher schlichtweg nicht die Thematik "Subselect".

Ich habe mir übrigens schon seit ein paar Tagen als (im Grunde für meine Problematik genau funktionierenden) Behelf einen Views-PHP-Filter eingebaut:

$myIds = array();
$res =
db_query(
  "select nid from (select * from node where promote <> 0 and status <>0 order by sticky desc, created desc) as pre group by type"
);
while ($row = db_fetch_array($res)) {
  $myIds[] = $row['nid'];
}
return $myIds;

(Weshalb ich das Thema im Grunde eigentlich mal besser auf gelöst setzen sollte, glaube ich. Auch, wenn ich weiterhin an "saubereren" Ansätzen interessiert wäre.)

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

Statistik

Beiträge im Forum: 250233
Registrierte User: 20449

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

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