這個想法是yung在華龍國小LifeType學習網誌裡迴響時提到的問題,「抓取Gallery2裡面的slideshow放到一般的網頁上」。
這樣的想法,並不是要將Gallery2的圖片區塊放在blog裡(將Gallery2圖片區塊放在LifeType網誌裡可以參考我的這一篇文章),而是想要將例如華龍國小電子相簿(Gallery2)裡的圖片區塊或幻燈片播放放在其他網頁(例如學校首頁上)裡。
自己是試做了幾種方式,但還有許多的小問題待解決(連結的問題、版面配置的問題等),所以這篇文章我只能先寫一下大概的作法, 詳細的、細部的版面修改問題,可能有賴有興趣的人自己實做看看了。
注意:下面的網址都過長,為了版面美觀,我都有強迫換行,要複製時請自己注意一下。
在Gallery2的「網站管理」/「圖片區塊」/「外部圖片區塊」裡有寫到
使用如下所示的 PHP 碼以便在 Gallery 系統以外的 PHP 頁面中顯示圖片區塊。
<?php @readfile('http://your_gallery2/main.php?g2_view=imageblock.External&
g2_blocks=randomImage&g2_show=title'); ?>.......略
「readfile 」的功能:
讀取檔案並且將它寫到標準輸出。(參考資料)
「g2_blocks」:
使用管道符號 '|' 分割選擇列表:
randomImage (隨機圖片),recentImage(最新圖片),viewedImage(觀賞過的圖片),randomAlbum(隨機相簿), recentAlbum(最新相簿),viewedAlbum(觀賞過的相簿),,specificItem(特定的相簿),dailyImage(本日 圖片),weeklyImage(本週圖片),monthlyImage(本月圖片),dailyAlbum(本日相簿),weeklyAlbum(本週 相簿),monthlyAlbum(本月相簿)
若你想要在網頁上顯示一張「隨機圖片」的圖片區塊:
g2_blocks=randomImage
若你想要在網頁上顯示兩張「隨機圖片」及「最新圖片」的圖片區塊:
g2_blocks=randomImage|recentImage
依此類推,若要顯示多張不同的圖片區塊,只要在選擇你想要顯示的圖片區塊類型,中間再以「|」來做分隔即可。「g2_show」:
使用管道符 '|' 分割選擇列表:title(標題),date(日期),views(觀賞次數),owner(擁有者),heading(?),fullSize(全尺寸的圖片) 此值也可以是 'none'。也就是你要在圖片區塊下方顯示那些圖片的資訊。
「 g2_linkTarget」:
增加鏈接目標,例如:在新的瀏覽程式視窗打開鏈接 g2_linkTarget=blank,若沒有加上這個參數,按下圖片區塊,它會以網頁目前這個視窗來開啟。還有幾個參數,有興趣的人就自己試試看了。
- 範例一 test1.php:顯示一張隨機圖片,加上圖片標題
<?php
@readfile('http://163.17.156.130/gallery2/main.php?g2_view=imageblock.External&g2_blocks=randomImage&g2_show=title');
?>
- 範例二 test2.php:顯示隨機圖片及最新圖片兩個圖片區塊 、顯示圖片日期、以新視窗開啟連結。
<?php
@readfile('http://163.17.156.130/gallery2/main.php?g2_view=imageblock.External&g2_blocks=randomImage|recentImage&g2_show=date&g2_linkTarget=blank');
?>假如你的網頁本來就是php的網頁,只要在網頁的適當位置加上上面的語法即可。
但若你的網頁是 .htm .asp 的網頁,無法直接將上面php的語法寫進去,目前我想的到的方式,是先將上面的語法存成個 .php的檔案,再利用html的<iframe></iframe> 將那個.php的網頁檔包起來。
示範網頁:請看網頁的最下方那個圖片區塊。
<iframe src="http://media.hlps.tcc.edu.tw/test2.php" width="150" height="150" frameborder="0" scrolling="no"> </iframe>如何將gallery2里的幻燈片播放模式放在一般網頁裡?
這在Gallery2並沒有提到,不過我依照上面php的語法 readfile("....."),自己是做了一個網頁,請看範例網頁
上面的範例網頁的語法
<?php
@readfile('http://163.17.156.130/gallery2/main.php?g2_view=slideshow.Slideshow&g2_itemId=57448'); ?>
我只是將電子相簿裡某個幻燈片播放的網址,用readfile來連結過來,若要將這網頁放在某個 .php .htm .asp的網頁上,只要再依照上面的作法,將它放進網頁裡就可以了。
不過這種方式,若要將它放在一般網頁裡,可能會有排版上的問題。
因為從上面那幻燈片播放的範例網頁裡,可以看的到,圖片上方還有一些功能選項,若要將它放在某個現成的網頁裡,可能還要克服排版的問題,目前我還不知道如何將那些選擇功能選項給拿掉而只剩下圖片而已,這應該就還要再去改gallery2的程式了,就留給有心人去試試了吧!
