Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

[gelöst]Random Image & Random Zitat

Eingetragen von Samyylain (24)
am 28.09.2009 - 12:07 Uhr in
  • Allgemeines zu Drupal
  • Drupal 5.x

Hallo liebe Drupaler,
ich habe z.Zt folgendes Problem:

Ich möchte in den Block "primary blocks" unter das Navigationsmenü ein Bild packen, dieses Bild soll aber auf jeder Seite ein anderes sein.
Dazu kommt, dass auf der Startseite noch ÜBER dem Titel eine Zeile erscheinen soll, in der nach jedem Refresh ganz "random" ein neues Zitat erscheint.
Ist das irgendwie umsetzbar?

Vielen dank für die Hilfe,
Sam

‹ Drupal Suche und Metadaten Dateien zuweisen?? ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi Sam, Bei den Sprüchen

Eingetragen von leda.ch (977)
am 28.09.2009 - 13:44 Uhr

Hi Sam,

Bei den Sprüchen gehe ich davon aus, dass du sie in einer separaten Tabelle hast. Dann könntest Du einen Block machen und folgenden php-Code einfügen:

<?php

$query_spruch
= db_query(db_rewrite_sql("SELECT min(id) minid, max(id) maxid FROM {x_sprueche}  WHERE aktiv=1"));
$data = db_fetch_object($query_spruch);
$minid = $data->minid;
$maxid = $data->maxid;   

srand((double)microtime()*1000000);
$rndid = rand($minid,$maxid);

$query_spruch = db_query(db_rewrite_sql("SELECT max(id) maxid FROM {x_sprueche}  WHERE id <=$rndid AND aktiv=1"));
$data = db_fetch_object($query_spruch);
$aktid = $data->maxid;
                   
$query_spruch = db_query(db_rewrite_sql("SELECT spruch, quelle FROM {x_sprueche} WHERE id = $aktid"));
$data = db_fetch_object($query_spruch);
$spruch = $data->spruch;
$quelle = $data->quelle;
print
"<em>$spruch</em>";
if (
$quelle != "") print "<br /><small>($quelle)</small>";
?>

In meiner tabelle x_sprueche sind 3 Felder: spruch, quelle, und aktiv. Der Code ist nicht ganz effizient, sollte Dir aber sinngemäss weiterhelfen.

Bei den Random-Bildern kann man auch einen Block machen mit z.B. so einem Code, der eines von 5 fixen Bildern auswählt (Hinweis: hier ist der Pfad fix codiert, man sollte hier eine Drupalvariable verwende, die ich grad nicht zur Hand habe):

<?php

srand
((double)microtime()*1000000);
$rndid = rand(1,5);
$bild = "";
if (
$rndid == 1) $bild = "a1.jpg";
if (
$rndid == 2) $bild = "a2.jpg";
if (
$rndid == 3) $bild = "a3.jpg";
if (
$rndid == 4) $bild = "a4.jpg";
if (
$rndid == 5) $bild = "a5.jpg";

print
"<img src='/sites/all/images/".$bild."'>";

?>

hope it helps



lg leda


***************************************************
"Du liebst es, Du brauchst es oder Du gibst es weg"

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hey leda, danke schonmal

Eingetragen von Samyylain (24)
am 28.09.2009 - 13:53 Uhr

Hey leda,
danke schonmal für die Hilfe :)
Habe aber eine Frage bezüglich deines Codes für die Bilder:
Das Problem ist(und ich entschuldige mich unendlich mal für's nicht erwähnen), dass das Menü flexiebel ist, wäre das ein Problem?

Achso und mit PHP bin ich jetz nicht so vertraut, wo genau füge ich diese codes ein?

Edit:
In einer Tabelle habe ich die Zitate nicht, wenn du mir sagen könntest, wie ich das mache, würde sich das aber einrichten lassen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du solltest für die Bilder

Eingetragen von leda.ch (977)
am 28.09.2009 - 14:47 Uhr

Du solltest für die Bilder auch einen *neuen* Block machen und den unter den Block des Menus in die linke Seitenleiste setzen.
Den Code selbst gibt Du im Blockinhalt ein, stellst aber das Eingabeformat auf "PHP-Code".

Wie hast Du dir das mit den Zitaten überhaupt vorgestellt, woher die kommen sollten?

Nachtrag: Aber falls die Sprüche Nodes sein sollen, dann wäre CCK und Views das Tool Deiner Wahl. Man kann eine Blockview machen, welche eine Randomanzeige bringt.

Es kommt halt drauf an, wieviel man handstricken möchte/kann, oder ob man auf die Bordmittel von Drupal zugreift, was aber nicht ganz einfach ist (vom Einstieg her).



lg leda


***************************************************
"Du liebst es, Du brauchst es oder Du gibst es weg"

  • Anmelden oder Registrieren um Kommentare zu schreiben

Mhmm das mit den Zitaten ist

Eingetragen von Samyylain (24)
am 28.09.2009 - 14:51 Uhr

Mhmm das mit den Zitaten ist nicht aus meinem Mist gewachsen, sondern kommt von meinem Chef.
aber das mit dem CCK und den Views versuch ich mal, danke :-)

Das mit den Bildern habe ich so umgesetzt aber hat nicht Funktioniert. Mir wurde der vollständige PHP-Code ausgespuckt. Könnte das an TinyMCE liegen?

Aber trotzdem nocheinmal vielen dank.

  • Anmelden oder Registrieren um Kommentare zu schreiben

TinyMCE kenne ich nicht,

Eingetragen von leda.ch (977)
am 28.09.2009 - 16:54 Uhr

TinyMCE kenne ich nicht, aber offenbar wird der Code nicht interpretiert. Findest Du im Block, unterhalb des Blockinhalts das Eingabeformat "PHP Code" und ist es auch aktiviert?



lg leda


***************************************************
"Du liebst es, Du brauchst es oder Du gibst es weg"

  • Anmelden oder Registrieren um Kommentare zu schreiben

TinyMCE ist ein Texteditor

Eingetragen von Samyylain (24)
am 29.09.2009 - 08:15 Uhr

TinyMCE ist ein Texteditor ^^
Das Eingabeformat "PHP Code" finde ich, aktiviert ist es auch. Aber funktionieren tut es trotzdem nicht.
Naja danke für den Versuch. Vielleicht hat ja noch jemand anders eine Idee ...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Anderen Editor nehmen

Eingetragen von wla (9461)
am 29.09.2009 - 09:02 Uhr

Wenn ich in Textfelder Code eingeben will, brauche ich keinen WYSIWYG Editor, der mir evtl den Code verhaut. Da sollte man auf einen einfacheren Editor, wie den BU-Editor umsteigen (evtl nur für einen Development User aufsetzen). Dann klappt das auch mit dem PHP-Code in den Textfeldern.

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das geht leider nicht, da

Eingetragen von Samyylain (24)
am 29.09.2009 - 10:16 Uhr

Das geht leider nicht, da unsere Kundin den Editor braucht um neue Seiten besser einzufügen.
Ich könnte ja theoretisch über den "disable rich-text" link das Modul deaktivieren,
aber das funktioniert nicht. Darüber hinaus, habe ich immernoch keine Lösung für mein Problem :-(

Danke trotzdem, für die Hilfe.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Da Dein "Problem" recht

Eingetragen von leda.ch (977)
am 29.09.2009 - 10:27 Uhr

Da Dein "Problem" recht mager umschrieben ist, wirst Du hier auch keine "Lösung" finden.

Wie bereits gesagt, mit CCK und Views kannst Du OHNE PHP die Sache mit den Sprüchen hinkriegen.
Für die Bilder könntest Du auch nach einem Modul im Stile eines "Ad-Rotator" suchen.

Wenn Deine Kundin den Editor für Pages brauchst, kannst Du Dir für Deine Zwecke auch einen eigenen Inhaltstyp machen und
*diesem* das PHP-Format freischalten (vorausgesetzt, der TinyMCE ist pro Inhaltstyp nutzbar, das weiss ich wie gesagt nicht).



lg leda


***************************************************
"Du liebst es, Du brauchst es oder Du gibst es weg"

  • Anmelden oder Registrieren um Kommentare zu schreiben

Eigene Rolle

Eingetragen von wla (9461)
am 29.09.2009 - 10:44 Uhr

Ich habe ja auch nur gesagt, daß Du eine eigene Rolle für solche Zwecke aufsetzen kannst. Die benutzt dann nur den BU-Editor und kann den PHP code eingeben. "Normale User" würde ich ohnehin nie an PHP Code basten lassen, da damit leicht die ganze Seite stillgelegt werden kann.
Definiere doch einfach für die Sprüche einen eigenen Datentyp. Erzeuge mit Views einen Block der zufällig einen Spruch heraussucht. Diesen Block plazierst Du, wo Du möchtest. Das geht bestimmt auch ganz ohne PHP Code.

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

So nocheinmal danke für die

Eingetragen von Samyylain (24)
am 29.09.2009 - 14:14 Uhr

So nocheinmal danke für die ganzen Hilfen.
Habe mir da nochmal so meine Gedanken drum gemacht und ein "Prinzip" mir überlegt, nachdem das alles funktionieren könnte.
Weiß halt nur nicht, wie sich das umsetzen lässt und hoffe da kann mir hier einer Helfen.
Also das Prinzip wäre:

Jeder Menüpunkt setzt eine Variable "Page" auf einen bestimmten Wert. z.B.:
Menüpunkt 1 | Page = 1
  Untermenüpunkt 1 | Page = 1.1
  Untermenüpunkt 2 | Page = 1.2
Menüpunkt 2 | Page = 2

...usw...

Jetzt müsste man doch Sinngemäß "nur" einen Code Formulieren der folgendes aussagt:

If
 variable 'page' = 1
  print image 'p1.jpg'
Else
 nothing

If
 variable 'page' = 1.1
  print image 'p1.1.jpg'
Else
 nothing

If
 variable 'page' = 2
  print image 'p2.jpg'
Else
 nothing

Ist der Gedankengang richtig? Wahrscheinlich müssten jetzt die richtigen "Programmierer" mal hier rein schauen. Ist mir halt nur so in den Kopf gekommen und bringt eventuell was.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wozu?

Eingetragen von wla (9461)
am 29.09.2009 - 14:46 Uhr

Warum eine Variable aufsetzen, wenn Du doch für jedes Menüitem bereits einen Pfad hast, mit dem Du arbeiten kannst. Wenn Du schon mit PHP spielen willst, nimm Dir Views, definiere eine Block-Ansicht und als Argument den Pfad der Seite, auf der der Block gezeigt wird. Dieses Argument kannst Du über PHP an den View übergeben und danach ein Bild oder einen Spruch ausgeben lassen.

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

Zitat: Warum eine Variable

Eingetragen von Samyylain (24)
am 29.09.2009 - 15:07 Uhr
Zitat:

Warum eine Variable aufsetzen, wenn Du doch für jedes Menüitem bereits einen Pfad hast, mit dem Du arbeiten kannst.

Weil ich gern umständlich denke :-D
Gut, das habe ich nur teilweise verstanden. Also ich habe jetzt bei Views folgende Eingaben gemacht:

Name: Bilder
Zugriff: Administrator
Block bereitstellen (Haken)
Ansichtstyp: Vollständige Nodes
Nodes pro Block: 1
Argumente: ->Node ID -> Alle Werte Anzeigen -> http://meinewebseite.de/drupal/?q=node/6 -> equal

so ... funktioniert nicht so wirklich, ich komme aber auch nicht weiter.
Wollte diese Views extra umgehen, weil ich das nicht ganz verstehe. Kannst du mir vielleicht erklären, wie ich das mache? Wäre echt nett :)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Mal sehen, ob das weiter hilft?

Eingetragen von r4s6 (1383)
am 29.09.2009 - 15:28 Uhr

Um ehrlich zu sein, ich habe die bisherigen Antworten nur überflogen, aber als ich deine Frage sah, ist mir sofort dieses Viedo eingefallen: http://mustardseedmedia.com/podcast/episode12

Das sollte eigentlich beide Probleme von dir lösen, meine ich.

Gruss Roger

Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen (1. Posting vom Thema) <==> das erleichtert das finden von Lösungen

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nicht als Argument sonder

Eingetragen von wla (9461)
am 29.09.2009 - 15:29 Uhr

Nicht als Argument sonder als Filter nehmen: Bei Filter über Node den Node-Typ wählen und dann die Zufälligkeit bei Sort auswählen.

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

So ich hab es dann

Eingetragen von Samyylain (24)
am 30.09.2009 - 13:42 Uhr

So ich hab es dann letztenendes doch über PHP gelöst.
Für all jene, die es auch wissen wollen, an der Stelle, an der die Bilder erscheinen sollen folgenden Code in der page.tpl.php einfügen (falls vorhanden auch in der page-front.tpl.php):

<?php
if ($node->nid == Nummer der Node) {
    echo
'<img src="Pfad zum Bild">';
    }
else {
    if (
$node->nid == Nummer der Node) {
        echo
'<img src="Pfad zum Bild">';
        }
    else {
        ;
        }
    }
?>

Das kann beliebig häufig wiederholt werden.

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

Statistik

Beiträge im Forum: 250233
Registrierte User: 20450

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 13 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