We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 20678
    • 11 Posts
    Hallo,

    ich würde gerne für eine Site einen Header mit sich wechselnden Bildern erstellen.
    Bin aber mit dem RandomImage Snippet nicht besonders weit gekommen.

    Es gibt ein RandomTV Snippet, der dafür wohl auch geeignet ist, aber es gab kein Beispiel dazu
    und als Neuling tue ich mich noch etwas schwer mit Snipptes, TVs etc.

    Hätte da mal jemand eine kurz ausführliche deutsche Beschreibung für mich, was ich wie machen muss?

    Ich habe schon mal:

    * Einen Ordner unterhalb meines Templates Ordners, extra für die Bilder. Dort liegen ca. 10 .png Bilder.
    * RandomImage Snippet im System
    * RandomTV im System

    Danke und Gruß
    Antonio
      • 17883
      • 1,039 Posts
      Hallo Antonio,

      willst Du das Bild als

      a.) Bild im Template einfügen

      oder

      b.) als Hintergrundbild eines DIVs?

      Das RandomImage Snippet finde ich grad nicht, aber das RandomBackground Snippet tut es auch (wahrscheinlich meinst Du das auch):

      $folder = 'assets/templates/DEIN_TEMPLATE/bg_images';   /*hier den Pfad zum images Ordner */
      
      $i = 0;
      $imgDir = opendir ($folder);
         while ( $file = readdir( $imgDir ) )
         {   
            //checks that file is an image
            $file_type = strrchr( $file, "." );
            $is_image = eregi( "jpg|gif|png",$file_type );
            
            if ( $file != '.' && $file != '..' && $is_image )
            { $images[$i++] = $file; }
         }
      closedir ($imgDir);
      
      srand( (double) microtime()*1000000 );
      $image_name = $folder . '/' . $images[rand( 0,sizeof( $images ) -1 )];
      
      //ends script if no images found
      if ( $i == 0 )
         die();
      
      return $image_name ;


      Habe es mal etwas angepasst.

      Nun müsstest Du für den Fall a.) einfach ein

      <img src="[!backgroundimage!]" />


      einfügen oder für Fall b.) im Header des Templates (am besten vor </head>)

      <style type="text/css">
      <!--
      #header{
      background: url([!backgroundimage!]) left top no-repeat;
      }
      -->
      </style>


      Voraussetzung für b.) Dein DIV mit dem Hintergrundbild hat die ID="header".

      Alles ungetestet und ausm Kopf, aber so in der Art sollte es gehen. Als Hintergrundbild kannst Du ja im Stylesheet ein Standard Bild definieren, das wird dann von der Angabe im Template überschrieben (zur Sicherheit, damit es nicht frei bleibt).

      Gruß Marc

        • 20678
        • 11 Posts
        Auch hier mal wieder,


        einen riesigen Dank.
        Ich habe mich für Variante b) entschieden und es hat auf Anhieb geklappt.

        Das war übrigens das snippet das ich meinte. Ich ging z.B. von einer falschen Pfadangabe aus,
        die im englischen Forum zu finden war. Dort war der gesamte Pfad angegeben.
        Übrigens empfinde ich deine Modifizierung des snippets für gelungener, als das Original.

        Danke und Gruß
        Antonio
          • 34162
          • 1 Posts
          Übrigens empfinde ich deine Modifizierung des snippets für gelungener, als das Original.
          Ja, finde ich auch. Da kann ich einiges lernen, was ich noch nicht wusste, hinsichtlich PHP/MODx Zusammenspiel laugh