Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Themes & Theming ›

Views und der aktuellste Node

Eingetragen von marie_fair (5)
am 21.09.2010 - 17:35 Uhr in
  • Themes & Theming
  • Drupal 6.x

Hallo zusammen,

ich habe folgendes Problem: ich habe einen View, der mir die Inhalte chronologisch darstellt. Nun hätte ich gerne, dass der aktuellste Node nicht normal wie die anderen angezeigt wird, sondern mit einigen Feldern mehr über dem restlichen View angezeigt wird.
Wie und an welcher Stelle kann ich denn am besten herausfinden, welcher Node die höchste ID hat, und dann anders Themen? Kann ich nicht irgendwie diesen Node herausfiltern, und dann in der .tpl.php die benötigten Infos laden? Ich weiss da erstens nicht genau, wie man, den Node mit der höchsten ID des Inhaltstypen in dem View finde, und wie ich den einen Eintrag nicht anzeigen lassen kann.

Hat jemand Vorschläge? Danke,

Marie

‹ Ausgewählten Hauptlink merken Profilfeld erst nach OPT-IN Verifikation anzeigen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Marie, ich denke die

Eingetragen von SvenLudwig (149)
am 21.09.2010 - 20:06 Uhr

Hallo Marie,

ich denke die einfachste Variante wäre es Dein View in zwei einzelne Views zu teilen und diese dann einfach übereinander zum Beispiel als Blöcke anzeigen zu lassen. Dabei müsstest Du die beiden Views jeweils nach Beitragsdatum oder tatsächlich nach der Node-Id absteigend sortieren lassen.

Dann gibst Du im ersten View unter dem Punkt "Anzuzeigende Einträge" einfach eine 1 für die Anzahl und eine 0 für den Offset an. Damit wird nur noch der neueste Beitrag angezeigt und Du kannst beliebig das Theme anpassen oder weitere Felder hinzufügen.

Im zweiten View gibst Du wieder bei Anzuzeigende Einträge einfach die gewünschte Zahl der neuesten Beiträge und zusätzlich eine 1 für den Offset an. Durch die 1 im Offset wird der erste Beitrag nicht angezeigt (gezählt wird in dem Falle ab 0). Hier kannst Du jetzt diese Beiträge wieder beliebig anpassen und das auch unabhängig vom ersten View.

Gruß,
Sven

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ok super, das mit dem Offset

Eingetragen von marie_fair (5)
am 22.09.2010 - 11:28 Uhr

Ok super, das mit dem Offset hat geklappt, der letzte Beitrag wird nicht mehr angezigt. Nun arbeite ich aber gerade in einer Template-Datei für die Designausgabe für den einen View, und würde nun gerne einfach nur den aktuellsten Node per Drupal-Funktion, PHP oder von mir aus auch mit MySQL bekommen, und die Felder anzeigen.
Geht das nicht einfach so, ohne einen weiteren View anlegen zu müssen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

db_query / node_load

Eingetragen von SvenLudwig (149)
am 22.09.2010 - 13:38 Uhr

Hallo Marie,

die Alternative hast Du natürlich auch. Theoretisch könntest Du im View-Header per PHP-Code oder im Template des View direkt per db_query, den neuesten Node ermitteln. Diesen dann per node_load laden und dann die gewünschten Felder ausgeben.
Nachteil ist lediglich, dass es nur derjenige, der PHP programmieren kann, dann auch ändern kann. Mit der Doppel-Views-Variante hättest Du einfach eine etwas Benutzeroberflächen-orientiertere Lösung.

Gruß,
Sven

  • Anmelden oder Registrieren um Kommentare zu schreiben

ich krieg das gerade einfach

Eingetragen von marie_fair (5)
am 22.09.2010 - 16:10 Uhr

ja, das ist schon ok so. die vorlage ist so, und das wird sich auch nicht ändern.
aber ich krieg das gerade einfach nicht hin, den neuesten node zu ermitteln.

soviel hab ich schon:

$type = 'type';
$query = db_query("SELECT * FROM {node} WHERE type = '%s' ", $type);  
$row = db_fetch_array($query);

Aber wie finde ich jetzt heraus, welches der neueste ist bzw. der, mit der höchsten NID?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wie wärs mit: $type =

Eingetragen von wla (9461)
am 22.09.2010 - 16:32 Uhr

Wie wärs mit:

$type = 'type';
$query = db_query("SELECT * FROM {node} WHERE type = '%s' ORDER BY node.nid DESC LIMIT 1", $type); 
$row = db_fetch_array($query);

Dann bekommst Du genau ein Ergebnis, den Node mit der höchsten Nid.

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

ja, das hat funktioniert,

Eingetragen von marie_fair (5)
am 22.09.2010 - 16:45 Uhr

ja, das hat funktioniert, super! vielen dank!!

  • Anmelden oder Registrieren um Kommentare zu schreiben

wla schrieb Wie wärs

Eingetragen von Thoor (3678)
am 22.09.2010 - 18:17 Uhr
wla schrieb

Wie wärs mit:

$type = 'type';
$query = db_query("SELECT * FROM {node} WHERE type = '%s' ORDER BY node.nid DESC LIMIT 1", $type); 
$row = db_fetch_array($query);

Dann bekommst Du genau ein Ergebnis, den Node mit der höchsten Nid.

Beste Grüße
Werner

Hi Werner,

Wenn Du oder andere gerade bei Datenbankabfargen zu Node-IDs sind ... man kann doch sicherlich auch die aktuell höchste Node-ID aus der Datenbank abrufen ... Kann mir jemand den Codeschnippsel dafür verraten ....

  • Anmelden oder Registrieren um Kommentare zu schreiben

Lass die Abfrage nach dem

Eingetragen von wla (9461)
am 22.09.2010 - 21:50 Uhr

Lass die Abfrage nach dem Node-typ raus also:

$nid = db_result(db_query("SELECT nid FROM {node} ORDER BY node.nid DESC LIMIT 1"));

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

Performance

Eingetragen von SvenLudwig (149)
am 23.09.2010 - 09:36 Uhr

Jetzt muß ich auch nochmal nachhaken. Hat jemand eine Idee, ob die SQL-Variante mit dem Limit wie vom Werner beschrieben oder alternativ eine Variante mit einer direkten select max(nid) .... performanter auf dem mySQL-Server läuft? Wobei ich mal davon ausgehe, dass in diesem konkreten Fall die Unterschiede eh so minimal sind und kaum eine Rolle spielen, oder?

Gruß,
Sven

  • Anmelden oder Registrieren um Kommentare zu schreiben

wla schrieb Lass die Abfrage

Eingetragen von Thoor (3678)
am 23.09.2010 - 10:19 Uhr
wla schrieb

Lass die Abfrage nach dem Node-typ raus also:

$nid = db_result(db_query("SELECT nid FROM {node} ORDER BY node.nid DESC LIMIT 1"));

Beste Grüße
Werner

Super ... Vielen Dank!

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

Statistik

Beiträge im Forum: 250233
Registrierte User: 20451

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

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