Zum Inhalt springen

random image

Erstellt am 27. Januar 2006 · 9 Antworten · letzte Antwort am 26. September 2006

Tags: Frage

sp_left ·

owohl vieles gelesen leider kein erfolg....

ich möchte an einem besteimmten marker ein random image anfügen. Hierfür habe ich die extension random_image installiert.

in meinem template habe ich folgenden Marker:

###_IMG###

an der stelle möchte ich die random images platzieren.
im Ts habe ich folgenden code:

includeLibs.randomImage = fileadmin/site_media/top_bilder/random_image.php
 
temp._IMG = USER
temp._IMG {
   userFunc = user_randomImage->main_randomImage
   path = fileadmin/site_media/top_bilder/
   fileExt = jpg,jpeg,gif
   image = IMAGE
   image.file = fileadmin/site_media/top_bilder/
} 
 
page.10.marks._IMG < temp._IMG

die datei random_image.php habe ich von :

http://typo3lab.colorcube.de/Random_images.59.0.html

was noch spannende ist: im quelltext finde ich den include path nicht. wer kann mir helfen ich muss das hinkriegen....

danke für die hilfe Sp_left

sp_left ·

habe gemerkt, dass es sinn macht wenn ich mein ganzes ts poste:

config.no_cache=1

page=PAGE
page.typeNum = 0
page.bodyTag = <body  leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">

page.10 = TEMPLATE
page.10 {
   template = FILE
   template.file = fileadmin/tmpl/index_2.htm
   workOnSubpart = DOCUMENT_BODY




###################################################
#
#                                   definieren der content markers
#
###################################################

   marks._CR < styles.content.getRight
   marks._CM < styles.content.get
   marks._CL < styles.content.getLeft
    
marks._IMG = USER

##########################################################
#
#                  random image
#
##########################################################

includeLibs.randomImage = fileadmin/site_media/top_bilder/random_image.php 

temp.RANDOM = USER
temp.RANDOM {
   userFunc = user_randomImage->main_randomImage
   path = fileadmin/site_media/top_bilder
   fileExt = jpg,jpeg,gif
   image = IMAGE/">IMAGE
   image.file = fileadmin/site_media/top_bilder
} 
 
page.10.marks._IMG < temp.RANDOM 


}
florius ·

Hallo sp_left,

die datei random_image.php habe ich von :

typo3lab.colorcube.de/Random_images.59.0.html

damit hab ich es auch nicht geschafft.
Bei mir sieht das folgendermaßen aus.
Die Bilder sind von der Größe und mit Rahmen aufbereitet. Sie liegen unter fileadmin/random mit den Namen: FILE_1 ...usw.

Hier das Typoscript:

# Random-Image-Zuweisung
marks.FILE_1 < temp.randomImage 
marks.FILE_2 < temp.randomImage 
marks.FILE_3 < temp.randomImage 
marks.FILE_4 < temp.randomImage 
marks.FILE_5 < temp.randomImage
marks.FILE_6 < temp.randomImage 
marks.FILE_7 < temp.randomImage 
marks.FILE_8 < temp.randomImage 
marks.FILE_9 < temp.randomImage 
marks.FILE_10 < temp.randomImage 
 
###### <<< RANDOM-IMAGE ANFANG >>> ######
includeLibs.tx_ccrandomimage = EXT:cc_random_image/pi1/class.tx_ccrandomimage_pi1.php 
 
temp.randomImage = USER_INT 
temp.randomImage { 
        userFunc = tx_ccrandomimage_pi1->main 
 
        path = fileadmin/random
        fileExt = jpg,jpeg,gif,png 
        excludePath = fileadmin/random/
        overrideParms.field = bodytext 
 
        renderObj = COA 
        renderObj { 
                wrap = |
                10 = IMAGE
                10.file = ###FILE_1###
                10.wrap = |
 
                20.file = ###FILE_2###
                20.file.wrap = |
 
                30.file = ###FILE_3###
                30.file.wrap = |
 
                40.file = ###FILE_4###
                40.file.wrap = |
 
                50.file = ###FILE_5###
                50.file.wrap = |

                60.file = ###FILE_6###
                60.file.wrap = |

                70.file = ###FILE_7###
                70.file.wrap = |

                80.file = ###FILE_8###
                80.file.wrap = |

        } 
 } 

page.10.marks.RANDOM_IMAGES < temp.randomImage

###### <<< RANDOM-IMAGE ENDE >>> ######

Ich denke damit schaffst du´s.
Gruß Florius

sp_left ·

#angry# #angry#

hallo Florius,
estensn mal DANK, leider kommt es immer anders als man will....es klappt immer noch nicht ich hab folgendes gemacht:
1. in meinem basistemplate bei den markern folgendes ts eingefüg:

page.10 {
   template = FILE
   template.file = fileadmin/tmpl/index_2.htm
   workOnSubpart = DOCUMENT_BODY

#     definieren der content markers

   marks._CR < styles.content.getRight
   marks._CM < styles.content.get
   marks._CL < styles.content.getLeft
#############    Marker rnd_image       ####################
   marks.RANDOM_IMAGE < temp.randomImage
}

2. ein neues leeres template erstellt, dein code eingefügt und den pfad zum bilderordner entsprechend angeglichen. Alle vorhandenen bilder in diesem ordner mit File_1.jpg File_2.jpg usw. benannt.
3. im selben templat include static from extensions random image gewählt
4. include basistemplate mein basistemplate eingebunden

ok zum ersten nicht gelösten Problem:
in meinem .htm file ist der Marker ###RANDOM_IMAGE### an der stelle sollten ja dann die zufallsbilder kommen, leider wird aber dieser Marker schon gar nicht angesprochen ????
ich bin wohl zu doof, denn der fehler kann ja nicht weit sein oder??

gruss und dank Sp_left

steffenk ·

ich habe mir ein supersimples randomimage gemacht, das funktioniert so:

fileadmin/scripts/randomimage.php

<?php
$fpath='fileadmin/randomimages/';
$rimage=array();
$dh = opendir($fpath);
while (false !== ($filename = readdir($dh)))
{
    if ($filename != "." && $filename != ".." && !is_dir($fpath.$filename)) { $rimage[] = $fpath.$filename;	}
}
if(count($rimage)>0) {
	shuffle($rimage);
	$content='<img src="'.$rimage[0].'" alt="random" width="200">';
}
?>

und im TS

temp.ri = PHP_SCRIPT
temp.ri.file=fileadmin/scripts/randomimage.php

und es gibt ein Zufallsbild aus fileadmin/randomimage aus.

sp_left ·

Hallo Steffen,
besten dank das klappte auf anhieb prima. nun habe ich zwischenzeitlich noch eine weitere frage? könnte man das mit dem Gifbuilder kombinieren? Wäre toll, wenn man für den guifbuilder ein randomimage definieren könnte ich habs probiert allerdings geht es nicht untenstehend das Ts:

marks.RANDOM_IMAGE = IMAGE
marks.RANDOM_IMAGE.file = GIFBUILDER
marks.RANDOM_IMAGE .file  {
 #XY = 955, 192
 
  10 = IMAGE
  10.file = fileadmin/scripts/random_image.php 
   
   20 = TEXT
   20.text = irgendeintext
   20.offset = 3, 58
   20.niceText = 1
   20.align=right
   20.fontSize =110
   20.fontColor = #ffdfff 

   20.shadow.offset = 2,2
   20.shadow.blur = 60
   20.shadow.opacity = 40

}

hastu du eine idee wie das gemacht werden könnte?

und grossen dank für deine erste Lösung - welche auf anhieb klappte!!!

sp_left

PeWe ·

Hallo Steffen,
ich hoffe du liest das hier noch nach so langer Zeit. Ich bin absoluter Typo3-Neuling, arbeite mit der Version 4.0 und habe mir erlaubt dein Script zu benutzen. Nur leider funktioniert es bei mir nicht #angry#
Liegt es daran, dass ich

temp.RandomImage = PHP_SCRIPT
temp.RandomImage.file=fileadmin/scripts/randomimage.php

nicht an die richtige Stelle schreibe?
Mein TS sieht so aus:

#temp.RandomImage = PHP_SCRIPT
#temp.RandomImage.file = fileadmin/scripts/randomimage.php

page = PAGE
page.typeNum = 0

page.temp.RandomImage = PHP_SCRIPT
page.temp.RandomImage.file = fileadmin/scripts/randomimage.php

#includeLibs.RandomImage = fileadmin/scripts/randomimage.jpg

page.shortcutIcon = fileadmin/img/taxi.ico
page.bodyTag = <body>
page.includeCSS {
file1 = fileadmin/css/taxi1.css
file2 = fileadmin/css/TEST-tt_news_v2_styles.css
}

page.config.index_enable = 0

page.10 = TEMPLATE
page.10 {
   template = FILE
   template.file = fileadmin/Templates/taxiscreen1.html
   workOnSubpart = DOKUMENT

   marks.HEAD = IMAGE
#  marks.HEAD.file< RandomImage
   marks.HEAD.file = GIFBUILDER
   marks.HEAD.file {
   XY = 675,128
   10 = IMAGE
   10.file< RandomImage
   20 = TEXT
   20.text = Das wird doch wohl bald mal klappen...
   20.offset = 3, 58
   20.niceText = 1
}

An den auskommentierten Zeilen sieht man, dass ich schon einiges ausprobiert habe. Nichts davon klappt. Habe es auch schon in TSconfig und in Constants geschrieben. Kann es etwas mit den Rechten auf dem Server zu tun haben?
Der Marker wir angesprochen aber kein Bild erscheint.
Wenn ich das Script mit der Extension page_php-content direkt als Seiteninhalt ausgebe, funktioniert es einwandfrei. Siehe:
http://www1.bsg-taxibonn.de/index.php?id=32
Wäre schön, wenn mich hier jemand auf die richtige Spur bringt.
Und welchen Sinn hat eigentlich

page.config.index_enable = 0

Ich hätte noch viel mehr Fragen auf Lager...helft mir bitte bevor ich durchdrehe!

Peter

sp_left ·

Hallo PeWe,
ich habs auch lange versucht und bei mir hat es einfach nicht funktionieren wollen. Irgendwo bekam ich den tipp das folgend zu lösen.
Bei mir funktioniert es prima:

1. im fileadmin ein verzeichnis skripts darin file mit namen ran_img.php
code fpr das file:

<?php
$fpath='HIERDEN_PFAD_ZU_DEINEM_BILDERVERZEICHNIS';
$rimage=array();
$dh = opendir($fpath);
while (false !== ($filename = readdir($dh)))
{
    if ($filename != "." && $filename != ".." && !is_dir($fpath.$filename)) { $rimage[] = $fpath.$filename;     }
}
if(count($rimage)>0) {
        shuffle($rimage);
        $content='<img src="'.$rimage[0].'" alt="random" width="318" />';
}
?>

2.in deinem template ein marker erstellen zb ###_RAN_IMG###
3.in deinem setup ts folgendes

marks._RAN_IMG = PHP_SCRIPT
marks._RAN_IMG.file=fileadmin/scripts/ran_img.php

das ist schon alles ich hoffe, dass dir das dient.

gruss sp_left

PeWe ·

Ja, vielen Dank sp_left,
ich habe die Lösung allerdings schon in einem anderen Post gefunden.

Beste Grüße

Peter