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

zufällige Node eines Inhaltstypen ausgeben

Eingetragen von headkit (514)
am 08.10.2007 - 19:15 Uhr in
  • Module
  • Drupal 5.x

Hi Leute!

Ich würde mir gerne einen Inhaltstyp bauen und von diesem auf der Hauptseite immer eine zufälliges Node ausgeben lassen. Gibt es da eventuell ein passendes Modul?

Danke!

‹ Book mit anderen Nodetypes Passwort im Klartext speichern ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

ich habe heute etwas

Eingetragen von aschiwi (1113)
am 08.10.2007 - 19:46 Uhr

ich habe heute etwas ähnliches gemacht, und zwar hab ich einen inhaltstyp "slogan" erstellt und dann so angelegt, dass in einem bestimmten bereich der seite immer ein zufälliger node dieses inhaltstyps aufgerufen wird (mit views). das würde bei dir funktionieren, wenn der von dir gewünschte zufällige node z.b. immer ganz oben auf der startseite angezeigt werden sollte (könntest dann über dem "content" in deiner template.php eine neue region erstellen). naja, es würde auch funktionieren, wenn es links/rechts/unten oder wie auch immer hin soll.

ist das ungefähr, das was dir vorschwebt? wenn ja kann ich gerne noch ausführlicher erklären ;-)

Grüße
Anja

http://www.twitter.com/aschiwi
Drupal-Initiative e.V.

undpaul

  • Anmelden oder Registrieren um Kommentare zu schreiben

bin ganz ohr...

Eingetragen von headkit (514)
am 09.10.2007 - 10:56 Uhr

bin ganz ohr...

  • Anmelden oder Registrieren um Kommentare zu schreiben

so, dann will ich mal

Eingetragen von aschiwi (1113)
am 09.10.2007 - 18:18 Uhr

so, dann will ich mal loslegen *ärmelhochkrempel*

ich weiß nicht, wie weit du fortgeschritten bist, deswegen etwas ausführlicher als vielleicht nötig:

Voraussetzungen
Modul Views muss installiert und aktiviert sein.

Vorgehensweise
- (deinen neuen Inhaltstyp hast du ja schon erstellt)
- navigiere zu admin>views (heißt evtl. nach stand deiner Übersetzungsdatei auch "Ansichten")
- hier kriegst du eine Ansicht aller bestehenden Views. Wir erstellen aber mit einem Klick auf "neu" einen neuen View
- Namen des Views eingeben
- Ich persönlich habe bei "Seite" kein Kreuz bei "Seite bereitstellen" gemacht, sondern:
- nur unter "Block" ein Kreuz bei "Block bereitstellen" und Ansichtstyp auf Listenansicht gesetzt
- nodes pro block = 1
- wenn du brauchst, ein Häkchen bei "mehr Verweis" setzen
- dann gehts rein in Felder, dort gibst du an, was im Block ausgegeben wird. Möglich sind bei dir z.B. node:title und node: textkörper oder andere Felder, die du ggf. mit cck hinzugefügt hast. Praktisch finde ich auch einen Bearbeiten-Link (node: Bearbeiten Verweis).
- "Argumente" bleibt leer
- und nun kommt das Wichtigste: unter "Filter" fügst du einen neuen Filter hinzu - Node: Typ. Den wählst du aus und klickst auf hinzufügen. Danach stellst du ein "ist eines von" und wählst deinen Inhaltstyp aus der Liste.
- "Hervorgehobene Filter" bleibt leer
- "Sortierkriterium" = Zufall
- Speichern

Jetzt haben wir schon mal mit dem View einen Block erstellt. Ich würde nun so vorgehen, dass man eine neue Region im Template erstellt und dann unter "Blöcke" den eben erstellten Block in dieser neuen Region anzeigt. Um die neue Region zu erstellen, hast du hoffentlich ein phptemplate Theme (sonst muss jemand anders weiterhelfen). Wenn das der Fall ist dann öffne folgende Dateien des bei dir aktiven Themes:
- page.tpl.php
- template.php

In der Datei template.php erstellst du die neue Region. Kann sein, dort sind schon Regionen aufgeführt, also z. B. so:

function pushbutton_regions() {
  return array(
       'left' => t('left sidebar'),
       'right' => t('right sidebar'),
       'header' => t('header'),
       'footer' => t('footer'),
       'slogan' => t('Slogan') /* <--- meine neue Region */
  );
}

"Slogan" ist die von mir erstellte neue Region. Da ich Regionen sehr gerne habe, habe ich natürlich noch 5 andere, die ich hier der Übersicht halber lieber entfernt habe. Wenn du also den Code oben entdeckst, machst du einfach hinter dem letzten ein Komma und schreibst die nächste Zeile genauso, nur mit dem Namen für deine neue Region (sollte ein Wort ohne Leerzeichen sein). Das Wort in ('Klammern') erscheint in der Liste der möglichen Regionen auf der "Blöcke" Seite, kann also Leerzeichen enthalten.

Jetzt musst du noch in die page.tpl.php Datei und die Stelle suchen, wo dein Content ausgegeben wird, meistens steht da ziemlich viel php Code wie <?php print $content; ?> und <?php print $tabs ?> und so. Ich denke, du willst deinen zufälligen Node über dem restlichen Inhalt ausgeben, also schreib den folgenden Code über den ganzen anderen Kram:

(statt "slogan" den Namen für deine eben erstellte Region eingeben):

<?php if ($slogan): ?><?php print $slogan ?><?php endif; ?>

Nun beide Dateien wieder auf den Server laden, zur Seite "Blöcke" navigieren, den Block (heißt so wie der View, den du erstellt hast) in die richtige Region stellen, speichern und gucken. Wenn nichts kommt, hast du vielleicht noch kein Node von deinem Inhaltstyp :-) Sollte der zufällige Node nur auf der Startseite angezeigt werden sollen, kannst du den Block noch konfigurieren und einstellen "nur auf den aufgelisteten Seiten anzeigen" und dort als Seite angeben.

Und wenn's geklappt hat, kannst du ja nochmal schreiben. Ich gebe mit dieser Version nur eine kleine Zeile (zufälligen Spruch) aus, aber ich denke es wird bei dir auch so klappen.

Grüße
Anja

http://www.twitter.com/aschiwi
Drupal-Initiative e.V.

undpaul

  • Anmelden oder Registrieren um Kommentare zu schreiben

in der tat hätte es nicht

Eingetragen von headkit (514)
am 09.10.2007 - 19:04 Uhr

in der tat hätte es nicht so ausführlich sein müssen.
trotzdem vielen dank, denn es hilft ja nicht nur mir, sondern vielen anderen auch.

die view zu erstellen ist ja noch ganz easy, aber in meiner template.php werden die regionen schienbar ganz anders definiert (ich benutze ein angepasstes garland-theme).

das verwirrt mich etwas.
an welcher stelle wird denn die pushbutton_regions()-Funktion aufgerufen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

pushbutton ist der name

Eingetragen von aschiwi (1113)
am 09.10.2007 - 19:12 Uhr

pushbutton ist der name meines themes. laut dieser Diskussion funktioniert für Garland:

function Garland_regions() {
  return array(
    'content_top' => t('content top'),
    'content_bottom' => t('content bottom'),
    'left' => t('left sidebar'),
    'right' => t('right sidebar'),
    'content' => t('content'),
    'header' => t('header'),
    'footer' => t('footer')
  );
}

kann sein, das steht da noch gar nicht, wird ja in der template.php nur überschrieben. ich denke mal, dass im code oben alle standard-regionen von garland angegeben sind und du dann nur wie in meiner erklärung eine neue region hinzufügen musst.

oder meintest du, dass genau das nicht funktioniert?

grüße
anja

http://www.twitter.com/aschiwi
Drupal-Initiative e.V.

undpaul

  • Anmelden oder Registrieren um Kommentare zu schreiben

vielen dank für deine

Eingetragen von headkit (514)
am 09.10.2007 - 19:28 Uhr

vielen dank für deine hilfe!
für alle anderen, hier erfährt man alles wichtige: http://drupal.org/node/29139

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • PHP 8.1 - Deprecated function: rtrim()
  • Preloader / Spnner entfernen Menu Link Modal-Modul
  • Schriftgröße standard einstellen
  • Drupal Website gestalten
  • MariaDB 10.6
  • Entity Reference - Title Felder werden als Link angezeigt
  • Tokens werden in Viev als Link angezeigt
  • [bug entdeckt & workaround gefunden] benutzerdefinierte Felder vom Userprofil tauchen ungefragt auch in den Forumtopics auf...
  • [gelöst] Mass contact Empfängerliste nach Taxonomy Term statt Rolle
  • Update V. 9.3.12 auf V. 9.4 mit Fehler: Modul mySQL fehlt. Bitte Hilfe.
  • Sprachpfad, in Drupal Korrekt einstellen, auch bei den Meta-Tags
  • Update von Drupal 9.3 auf 9.4 oder bei 9.3 bleiben
Weiter

Neue Kommentare

  • Danke fürs Feedback. Gut dass
    vor 2 Tagen 13 Stunden
  • Patch angewandt
    vor 2 Tagen 16 Stunden
  • core_version_requirement: ^8
    vor 4 Tagen 18 Stunden
  • core_version_requirement: ^8
    vor 4 Tagen 18 Stunden
  • ok. Wenn ich das mache
    vor 4 Tagen 18 Stunden
  • Bei gleichem Namen hat das
    vor 4 Tagen 18 Stunden
  • Sorry, dass ich mich hier
    vor 4 Tagen 18 Stunden
  • Habe Patch versucht
    vor 5 Tagen 1 Stunde
  • Hier wird ein Patsch
    vor 5 Tagen 3 Stunden
  • Mit Drupal geht das um 150
    vor 5 Tagen 14 Stunden

Statistik

Beiträge im Forum: 247866
Registrierte User: 19593

Neue User:

  • Davidsnins
  • kudes
  • Tkakah

» Alle User anzeigen

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