forum.coppermine-gallery.net
Support => Deutsch (German) => Language Specific Support => cpg1.4.x Deutsch (German) => Topic started by: Marksberlin on July 19, 2007, 01:38:52 pm
-
Hallo ich habe mal wieder ne Frage.
Wie kann ich erreichen, dass auch meiner Seite sich das oberste Bild,, bei offnen der Seite immer ein anderes ist.
Also ich würde so 5-10 Bilder genau anpassen. Und auf dem Server Speichen.
Ich weiß nur nicht wo und wie ich das hinbekommen das sich die Bilder wechseln.
Kann mir jemand helfen.
Meine Seite www.bildervonberlin.de
Mark
-
Da braucht es ein kleines bißchen PHP-Code.
Benutze dazu das custom_header feature. Das externe PHP-Skript, auf dass der custom_header Pfad verweist sollte dann eine Zufallszahl auswürfeln und in Abhängigkeit von der Zahl eben das eine oder andere Bildchen darstellen. Als Beispiel hierzu: nimm http://www.it-academy.cc/article/1094/PHPBannerRotation+ohne+MySQL.html
Noch einfacher ist folgende Lösung:
<?php
/* banner.phtml
Banner rotation script for PHP3 by Anton Olsen (aolsen@graphweb.com)
Please feel free to do with this script what you want, all I ask is
that if you make significant changes, please e-mail them to me.
I tried to use a number of different methods, the image functions
of PHP do not appear to understand animated GIFs and the file
handling features (fopen, fpassthru, and fclose) were causing
apache to crash on me. I settled on using passthru. Although
possibly not as portable, it appears to work faster than either
method mentioned above.
Assumptions:
You have a directory for all your banners.
All banners are GIF files.
The filenames of the banners all start with banner.
There are no other files in the directory starting with banner.
Installation:
Place this script in the banners directory.
Place all your banner*gif files in the same directory.
Add the following HTML code to your web pages :
<a href="wherever.you.want.com">
<img src="http://www.yourserver.com/bannerdir/banner.phtml" alt="Random Banner Here" border=0>
</a>
*/
/* random( $max integer )
Returns a random number between 0 and $max-1;
*/
function random( $max )
{
$x = rand();
$y = getrandmax();
$r = $x / $y * ($max -1 );
$r = round( $r++ );
return $r;
}
/* Read the directory, add all "banner*" files with to the array
*/
$i = 0;
$d = dir(".");
while($entry=$d->read())
if (substr($entry,0,6) == "banner")
$array[$i++] = $entry;
$d->close();
/* pick a banner at random
*/
$r = random( $i );
/* Send a no-cache header, and the gif type header, and output the file.
*/
Header( "Pragma: no-cache" );
Header( "Expires: Monday 01-Jan-80 12:00:00 GMT" );
Header( "Content-type: image/gif");
passthru( "cat $array[$r]" );
?>
(entnommen von http://px.sklar.com/code.html?id=49)
Es gibt noch Tausende von anderen Seiten im Internet, die das beschreiben. Wichtig für die Verwendung innerhalb von Coppermine: themes/dein_theme/template.html kann keinen PHP-Code beinhalten. Daher wie beschrieben das custom_header Feature benutzen oder mit der Header-Redirection wie im zweiten Skript beschrieben die referenz direkt im <img>-tag herstellen.
-
Hallo,
ich habe da noch mal ne Frage!!!
ich habe mich für das zweite Methode entschieden, weil ich denke das ist am einfachen.
Aber trotzdem verstehe ich das nicht so richtig.
in welcher Datei und stelle muss ich den html code (Wenn der richtig ist) einfügen:
<a href="wherever.you.want.com">
<img src="http://www.yourserver.com/bannerdir/banner.phtml" alt="Random Banner Here" border=0>
</a>
und wo muss ich den rest einfügen?
bitte helft mir. ich würde mich sehr freuen und sehr dankbar sein.
Danke,
Mark
-
Welche Datei Du auch immer als custom_header definiert hast.
-
Ohne es ausprobiert zu haben würde ich erstmal in der Datei themes/briarpatch/template.html nach der Stelle suchen, wo das Bild "header.jpg" aufgerufen wird. Den gesamten <img>-Block ersetzt du dann mit
<img src="banner.php" alt="Random Banner Here" border="0">
Die Datei "banner.php" erstellst du dann im Wurzelverzeichnis und kopierst dort den gesamten Code von Joachim rein.
-
den der template datei ist kein verweiß auf den header.
nur im der style datei.
*/
body
{
background: url(images/body.gif) repeat-y top center;
}
die template datei sieht nur so aus:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html dir="{LANG_DIR}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset={CHARSET}" />
<meta name="mssmarttagspreventparsing" content="true" />
<title>{TITLE}</title>
<link rel="stylesheet" href="themes/briarpatch/style.css" type="text/css" />
</head>
<body>
{META}
<script type="text/javascript" src="scripts.js"></script>
{CUSTOM_HEADER}
<div class="mainblock">
<div class="header">
<div class="maintitle">
<div class="gal_description">{GAL_DESCRIPTION}</div>
</div>
</div>
<div class="topmenu">
<div align="center"> <a href="http://www.kreativefotografien.de/index.php?cat=0">Kategorien
& Alben</a> ::<A
href="http://www.kreativefotografien.de/thumbnails.php?album=lastup&cat=0">Neueste Bilder</a>
::<A
href="http://www.kreativefotografien.de/thumbnails.php?album=lastcom&cat=0">Neueste Kommentare</a>
:: <A
href="http://www.kreativefotografien.de/search.php">Suche</a><br> <a href="http://www.kreativefotografien.de/index.php?file=minicms/cms&id=5">Urheberrechtsinformationen</a>
:: <a href="http://www.kreativefotografien.de/index.php?file=minicms/cms&id=3">Kontakt</a>
:: <a href="http://www.kreativefotografien.de/index.php?file=minicms/cms&id=2">Impressum</a><br> <a href="http://www.markseidler.de">Mark
Seidler</a> :: <a href="http://www.bilderausderganzenwelt.de/">Bilder aus aller Welt</a> :: <a href="http://www.bildervonberlin.de/">Bilder von Berlin</a><img src="ir" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
{ADMIN_MENU}</div>
</div>
<div>{GALLERY}</div>
<div align="center">
{LANGUAGE_SELECT_FLAGS} <br />
{LANGUAGE_SELECT_LIST}{THEME_SELECT_LIST} <br />
</div>
</div>
</body>
</html>
kann mir jemand helfen wie ich das alles hinbekomme, würde auf ewig dankbar sein.
-
Dann pass den Pfad in der css-Datei an.
Mir ist aufgefallen, dass du in deiner template-Datei absolute Links hast:
<a href="http://www.kreativefotografien.de/index.php?cat=0">
Das gesamte http://www.kreativefotografien.de/ kannst du dir sparen.
Der Übersicht halber sollten wir übrigens erstmal bei einer Seite bleiben.
-
sorry das mit den zwei seiten.
aber jede ist gleich.
aber ich bekomme das trotzdem nicht hin.
-
sorry das mit den zwei seiten.
aber jede ist gleich.
aber ich bekomme das trotzdem nicht hin.
-
so jetzt habe ich noch mal probiert...
in der Style datei (ist glaub nicht html) habe ich folgende stelle gefunden.
background: url(<a href="http://www.bildervonberlin.de">
<img src="images/gif/banner.php" alt="Random Banner Here" border=0>
</a>) no-repeat center center;
border-bottom: 1px solid #FFFFFF;
border-top: 1px solid #FFFFFF;
clear: both;
text-align: center;
width: 740px;
height: 150px;
Ist das so richtig eingetragen?
geht das überhaupt wegen der style Datei?
-
Folgende Stelle ist erstmal falsch:
<img src="images/gif/banner.php" alt="Random Banner Here" border=0>
Dort liegt keine banner.php
Richtig wäre:
<img src="themes/briarpatch/images/gif/banner.php" alt="Random Banner Here" border=0>
damit verweist du zumindest schonmal auf die richtige Datei.
-
So ich habe jetzt selbst mal ein kleines Script erstellt, dass dir deine gewünschte Funktion bietet.
1. Erstelle im Verzeichnis themes/dein_theme die Datei banner.php mit folgendem Inhalt:
<?php
$dir = "images/banner/";
$banners = array();
if ($handle = opendir($dir))
{
while (false !== ($file = readdir($handle)))
if ($file != "." && $file != "..")
$banners[] = $file;
closedir($handle);
}
$banner = $dir.$banners[rand(0,count($banners)-1)];
header("Content-type: image/jpeg");
$width = 740;
$height = 150;
$im = @imagecreatetruecolor($width, $height);
$banner = imagecreatefromjpeg($banner);
imagecopy($im, $banner, 0, 0, 0, 0, $width, $height);
imagejpeg($im);
imagedestroy($im);
imagedestroy($banner);
?>
2. Erstelle im Verzeichnis themes/dein_theme/images den Ordner banner und kopiere dort beliebig viele JPG-Dateien mit beliebigen Namen hinein.
3. Suche in deiner style.css nach
background: url(images/header.jpg) no-repeat center center;
und ersetz es mit
background: url(banner.php) no-repeat center center;
Sollte funktionieren :)
-
Also danke für deine Mühe.
Aber funktionieren tut es nicht. oder fuktioniert es bei euch?
www.bildervonberlin.de
Jetzt ist nichts zu sehen.
gruß
Mark
-
Du hast einen Fehler in der Datei banner.php: http://www.bildervonberlin.de/themes/briarpatch/banner.php
Parse error: syntax error, unexpected '>' in /var/www/web263/html/web_berlin/themes/briarpatch/banner.php on line 18
Kopiere dort genau das (und nur das) rein, was ich für dich erstellt habe!
-
so jetzt erscheint kein fehler mehr, aber funktionieren tut es nicht.
-
Wenn es dir Recht ist, würde ich mir deinen themes/briarpatch-Ordner gerne mal per FTP anschauen. Die Daten dafür kannst du mir per PN schicken.
-
Wie ichs mir gedacht hatte. Der Inhalt der Datei banner.php hat auch nach dem 2. Anlauf nicht gestimmt!
Drin stand:
?php
$dir = "images/banner/";
$banners = array();
if ($handle = opendir($dir))
{
while (false !== ($file = readdir($handle)))
if ($file != "." && $file != "..")
$banners[] = $file;
closedir($handle);
}
$banner = $dir.$banners[rand(0,count($banners)-1)];
header("Content-type: image/jpeg");
$width = 740;
$height = 150;
was nicht dem entspricht was ich oben geschrieben habe ::)
Jetzt geht's.
-
krasss
danke.
ich habe doch das von dir kopiert und dann in mein webeditor gepackt und dann als php gespeichert. ist das falsch?
-
Offensichtlich ::)
"Webeditor" hört sich nach WYSIWYG-Editor (=schlecht) an. Benutz für solche Sachen am besten einen von den hier gelisteten Editoren (http://documentation.coppermine-gallery.net/en/dev_tools.htm#dev_tools_editor).
Auch beim Vergleich des von mir geschriebenen Codes und dem, was bei dir zu finden war ist, dass am Anfang das "<" fehlt und die letzten 10 Zeilen komplett fehlen. >:(
-
um es abzuschließen.
ich benutze dem Namo WebEditor 6.
-
Name ist ein WYSIWYG-Editor und fällt damit in die Kategorie "nicht brauchbar für Anfänger". Man kann Namo das ungefragte "Verschönern" des Codes abgewöhnen, wenn man sich auskennt. Wer sich aber so gut auskennt ist meist mit einem reinen Nur-Text Editor besser beraten. Es beisst sich also der Hund in den Schwanz. Resümee: benutze Namo nicht, um Coppermine-Dateien zu bearbeiten. Notepad.exe ist Dein Freund! Wahlweise einer der Editoren, auf die eenemeenemuu verwiesen hat.