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 - 18: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 - 18: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 - 09: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 - 17: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 - 18: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 - 18: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 - 18: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

  • Modulupdate per Webinterace scheitert an authorize.php und access denied für Admin-User
  • content und media-files von drupal8 nach drupal9 migrieren
  • Notificationsnicht immer und gesammelt bei Update
  • Meldung zu Token im Statusbericht
  • Fehlermeldung: Deprecated function
  • Warning: call_user_func() expects parameter 1 to be a valid callback, class 'Drupal\node\Entity\Node' does not have a method 'ge
  • Versenden von Anfragen per Webform
  • Goodbye Online Drupal Meetup Germany - Hello Drupal DACH Online Meetup!
  • Übersetzte Felder bei Inhaltstyp automatisch übernehmen
  • Content Ex-/Import
  • RESTful Path request will nicht
  • Wer ist online Block
Weiter

Neue Kommentare

  • Problemeingrenzung
    vor 37 Minuten 11 Sekunden
  • Ich habe es bei einigen
    vor 1 Tag 2 Stunden
  • Self-referencing
    vor 2 Tagen 16 Stunden
  • settings.php
    vor 2 Tagen 17 Stunden
  • Kulturmensch schrieb Prima
    vor 2 Tagen 18 Stunden
  • Metatag
    vor 2 Tagen 18 Stunden
  • Links
    vor 2 Tagen 17 Stunden
  • Wenn Du nach der
    vor 2 Tagen 19 Stunden
  • Gut zu wissen. Demnächst
    vor 3 Tagen 12 Stunden
  • Token Fehler behoben
    vor 3 Tagen 12 Stunden

Statistik

Beiträge im Forum: 245978
Registrierte User: 18831

Neue User:

  • finnster
  • Damian1802
  • MrWebMV

» Alle User anzeigen

User nach Punkten sortiert:
wla9010
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3916
ronald3829
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 4 User und 13 Gäste online.

Benutzer online

  • SaarlandToday
  • Jenna
  • pkreutzer
  • McAldo

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