彙整

Archive for the ‘php’ Category

drupal_install_template

五月 16, 2009 CrazyLion 留言

之前提過之後架站都會使用drupal 來做,不過每開一個新project 都得重新下載一次module,很煩。通常的作法是自己管理一份drupal, 不過嘛…. 這樣還是要處理model 更新的問題。 所以我就用ruby寫了一個自動下載安裝的腳本,然後又取了個爛名字  =.=  drupal_install_template 。 其實這些問題都很簡單,可是似乎都沒官方解法@@ 像是rails 也是到2.3 才有template的功能。

*nix 平台適用(mac也可,因為它混用了wget & tar & mv 指令) 使用方法很簡單,到 list.yml 裡面依次把 model name填上,然後執行它就可以了  :P

這腳本授權為WTFPL ,意思就是隨便你拿去幹啥XD

其實還有一些想法,像是自動補上中文語系檔,或是model可以指定版本….etc 。不過隨著時間慢慢來補上吧  :P

Categories: Open Source, php, programming

[drupal] insert view and Viewfield

四月 2, 2008 CrazyLion 留言

insert view  和 viewfield 是drupal 中兩個可以把別的view 插入到當前node 的模組。不過insert view 有點問題,他會自己cache 一份 render 後的結果,這會導致當view 裡頭的node 更新後,他會很慢很慢才更新(學弟改了node的資料後,半小時後還沒更新o_O!!!)。

這應該算是地雷 :P   所以有類似需求的話,可以改用 viewfield,他一樣可以提供類似的功能,不過這樣就只能插入一個view了。

Categories: Open Source, php 標籤:, ,

[drupal] 解決views_tabs 排序不正常的問題

二月 18, 2008 CrazyLion 留言

views_tabs 是一個drupal 的擴充套件。它可以讓view中的元素以tab的方式呈現出來。不過它有一個問題:

總是不願意依照view中的設定來好好排序。 怎麼勸都勸不聽。

這幾天追了一下,發現主要的原因應該是它所使用到的jstool tab模組中的:

function tabs_process_tabset($element)

裡面又對元素呼叫了一次 uasort($element, “_element_sort”) ; (77行附近)

而drupal中的_element_sort函式主要會根據每個$element的成員”#weight” (如果沒設定就取用#title成員)來排序。

views_tabs 在產生元素陣列的時候沒把這個成員給放進去(不過這要算誰的錯呢?)。所以解決方法很簡單,就是我們自己加進去。

底下是最簡單的方式:

在 function theme_views_tabs_display($view, $nodes, $type, $teasers = FALSE, $links = TRUE)函式中的

foreach ($nodes as $node) {

改成

$i =0;
foreach ($nodes as $node) {

111 $tabset[$title] = array(
112 '#type' => 'tabpage',
113 '#content' => $content,
114 '#title' => $title,
115 );

改成

111 $tabset[$title] = array(
112 '#type' => 'tabpage',
113 '#content' => $content,
114 '#title' => $title,
115 '#weight' =>$index,
116 );
117 $index++;

即可。

Categories: Open Source, php 標籤:, , ,

又一款php framework-Orchid

十二月 27, 2007 CrazyLion 留言

這套看起來不錯,集成式的架構的確擁有很多優勢存在,因為大部份的人都懶嘛  ….。

作者的網站上列出來目前集成的特色有:

1. Caching Engine with support of Memcache, MySQL and SQLite as Storage
2. MVC
3. RoR like Layout and segregated template components.
4. Partial Caching in Template
5. Very efficient object loading and dispatching
6. DAL for MySQL (Both MySQL and MySQLi), SQLite, PostgreSQL and MSSQL
7. Support for PDO
8. Builtin Unit Testing Library where you can write unit tests inside the controller without extra pain.
9. Internationalization using Language files
10. Session Manager (Regular and DB Based)
11. Bundled Google Map Library
12. Bundled Google Chart Library
13. Bundled JSON Library
14. Bundled Prototype, jQuery, Scriptaculous and SWFObject Scripts with on-demand gzip support
15. On demand gzipping for javascripts
16. Active Record
17. Excellent Benchmarking and Profiling support which you can use to profile your application
18. CSS based Button Manager (What is this???? — checkout)
19. AJAX Library

根據官網上最新的文章,還預計要整合:

20.blueprint CSS (css 的framework 還不錯用)
21.open ID

實在是不錯。

Categories: Open Source, php

建立自己的digg-like網站

十二月 25, 2007 CrazyLion 留言

以往要建立自己的digg-like網站,可以使用pligg 這套軟體,不過現在也可以使用drupal來架設囉!!

使用方式請參考 drigg-code,範例網站請參考:drigg。以我對drupal的了解,用起來應該不會跟pligg一樣流暢,不過好處是可以跟其他drupal的模組做整合,很容易擴充出新的功能出來。不過這個介面看起來….恩 大概還有一小段路要走 XD

Categories: Open Source, php 標籤:,

DokuWiki

六月 28, 2007 CrazyLion 4 留言

Dokuwiki真的算是最好用的wiki了(比較對象有mediawiki and pmwiki)。我想最主要的好處在:

  1. 可以從前端進行設定 (外掛啟動與否、權限控制…etc 這部份mediawiki沒有辦法) ,無須修改.php檔案
  2. 不使用資料庫(對於中小型的站台來說,使用資料庫對他們來說是個負擔,備份又麻煩。)
  3. 速度快(mediawiki的速度喔…..)。

缺點:

  1. 外掛不多 (不過他幾乎基本的都有了,不太需要額外裝些什麼。外掛數量這方面,pmwiki and mediawiki勝出)
  2. 佈景主題不多(ㄟ..好像跟上一個一樣耶XD)
  3. 開發較慢(跟開發者人數有關吧…不過很夠用了)。

最近因為開始了一些小計畫,所以開始用這套,用起來感覺很不錯。如果你的站台屬於中小型,那麼Dokuwiki就很夠用了。用到mediawiki,結果可能會跟我研究所的wiki一樣,用不到10%的功能,卻要付出很多代價。

弄的差不多了,過幾天可以再回過頭來寫DBN了,每次寫出來的東西都跟腦海裡長得挺不一樣的XD。

ref:http://www.robbin.cc/dokuwiki/doku.php?id=syntax:syntax

update:

感謝 網站製作學習誌的站長jaceju 大人在迴響中的整理,這份整理的比較好 :P

dokuwiki的好處有:

1. 安裝容易 (其實根本就是解壓縮以後就開始用了) 。
2. 支援程式語言變色功能。
3. 內建有輸出 RSS 的功能。
4. 頁面能用 namespace 來建立階層關係。
5. 能外掛 Blog 及 Tag 等 plugins 。

Categories: Open Source, php, wiki

選擇那麼多 到底該怎麼選?

四月 2, 2007 CrazyLion 留言

最近又在煩惱想把研究所實驗室的部落格換套系統,雖然我畢業了,可是有大學實驗室的前車之鑑….(現在網站都死掉了…o_O) ,反正實驗室那邊有同學會跟我一起弄。從多人部落格系統一直看到CMS系統,每套都不是那麼如意。 WordPress MU 還沒有做的跟 wordpress.com 一樣好。 lifetype 的end-user 使用介面上則不是那麼進步,而相關的plugin and themes 跟 wordpress 相比起來也差很多。 不過MU那邊的多部落格+多使用者的話,切換上就會有點問題。部落格系統太多選擇,頭也很大。如果還有外插那就….

看著看著又看到了 drupal ,又看到了joomla,我不得不說,看起來 drupal的theme美觀很多。不過joomla在cms系統方面最近也是動作連連。據說後台管理介面很棒,第一眼看起來的確不錯,用起來我到是不太習慣。在找資料的途中,還試用了typo3,老天爺 ,一進到後台我就放棄了。不過drupal 的tag系統目前還沒像部落格一樣好就是了,看了中文支援站的一些討論,發現每一套tag module都有每一套的問題 >”<,全站式的tag不太適合部落格。而個人式的tag system尚未有完善的管理介面..orz

不過後來我發現 drupal 可以拿來作為學生用的部落格系統,有全域的tag(繳作業分類用) ,有討論區,可以上傳檔案,wow,一切都夠了呢!!! ,況且這種有時間限制的用途應該適合用這種才是,何必和要自訂版面,和必要新增推薦連結呢? 作為上課用的平台有論壇可以討論,有部落格可以繳交作業,ok了阿!!!!!

這個問題讓我想到我之前還在問學長要選 jsf or struts or wicket 呢?搞了老半天,還真的像學長所說得一樣: 你是第一次用吧? 那就隨便選一套就對了。

看來還真有道理呢!!等之後用久了,慢慢比較就會發現優缺點了阿!!!

不過我看我其實看外觀居多..orz 看到phpbb 3.0如此美麗,就想把smf換掉,想當初跳到smf就是因為比phpbb漂亮阿!!!

不過smf 停滯一段時間了….

Categories: Open Source, java, php

ubuntu, apache2, ruby, php forbidden

二月 12, 2007 CrazyLion 留言

今天在ubuntu上安裝ruby 結果.rbx 這個檔一直顯示權限錯誤 forbidden 。跟之前在實驗室安裝php一樣的情形,不過那時候很呆,沒去看apache的error.log。 今天一看才發現,原來CGI模式被關掉了..

php還沒測過,所以不是很確定,不過rbx這樣修改過後就可以跑了。

修改 /etc/apache2/site-available/default

<Directory /var/www>

</Directory>

中間加上:

Options +ExecCGI

重新啟動apache2 就可以了,不過有沒有後遺症我就還不知道了XD

Categories: liunx, php, ruby

Planet 的php版本

八月 28, 2006 CrazyLion 留言

一直想幫老師做一個Planet的聚合網站,不過Planet是用Python寫的,完全不懂Python,搞了老半天還是弄不起來XD。所以只好退而求其次,看有沒有php版本的替代品。

Lilina-就是這個軟體,剛剛把同學在無名的部落格加進去,越加越火,提供樣板都不看的嗎?基本的配色搞成這樣,字要怎麼看。還有那種奇怪的使用邏輯的樣板,像是點了迴響,結果什麼都沒有,還要點右邊導覽列的迴響才看得到,誰來救救我。能力那麼好,為什麼要這樣搞,樣板一大堆都是ie-only,而且還是ie6.0 only,沒關係,等到一堆人用7.0 我們再來看好了。奇怪,每次看無名的網誌都是越看越火….orz

不過linux上裝不起來@@,真是奇怪,晚點再試試。不過我還是覺得應該架個lifetype+wiki給這些專研的學生用。也可以保留這些學生的成果。

update:弄好了,原來是有個參數沒看清楚…orz

Categories: Open Source, php

eyeApps

七月 30, 2006 CrazyLion 留言

老天,這真的太有趣了。

eyeApps一套網路作業系統。php 環境,不需資料庫,安裝超簡單,畫面漂亮,英文介面。你可以在eyeos.info試用。

內建有文字編輯器、小算盤、日曆….等程式。

不過已經用瀏覽器看了,為什麼裡面還要有瀏覽器阿XD。真期待之後的發展 :P

Categories: Open Source, php