前段時間安裝Drupal 7的時候就遇到自動在MySQL中使用InnoDB的情況,而且好像是即使MySQL默認引擎為MyISAM也依舊使用InnoDB。雖然InnoDB有自己的特點,Drupal 7選用這個也正常,但對于我們來說,有多個子網站的時候,以前是将數據庫分散到多塊硬盤上的,就需要用MyISAM來讓每個子網站有獨立的目錄比較方便,所以還是需要能使用MyISAM。
按照網上找到的一篇文章,修改includes/database/mysql/shema.inc這個文件可以解決,雖然修改drupal core文件不是一個很好的辦法,先這樣用。
Drupal的Views是個好東西,能做出各種查詢列表,基本上是我們網站的必備模塊。
在一些系列網站中,因為要在各個子網站都設置相同的Views,我們就用到Views的導出、導入功能,這樣隻需要在一個示範網站中設置好,然後export成代碼的形式,再import到其它網站就可以,還是比較方便的。
雖然一次性設置的時候導出、導入不麻煩,但如果要修改Views就比較麻煩了,我們以前是逐個網站修改,或者隻修改示範網站,再在其它網站中删除舊Views、導入成新Views,如果需要反複修改,也算是比較麻煩了。
Drupal 6中的Vi
以前做Drupal首頁一般就是新建一個普通頁面,讓在Site information中設置為首頁就可以。不過考慮到我們現在有些系列網站包含幾十個子網站,首頁的模式基本相同,如果有些地方需要修改,就需要修改幾十個首頁,有些麻煩。
這次在新建網站的時候,就考慮使用模闆的辦法來統一,Drupal 7中沒有node--front.tpl.php,就用page--front.tpl.php來做。
修改的辦法很簡單,複制drupal_root/themes/bartik中的page.tpl.php到drupal_root/sites/all/themes/
去年初開始用Drupal的時候就找到contemplate模塊,用于定制化輸出頁面,覺得這個模塊很好用,既可以放在數據庫中也可以放在磁盤上,可以實現對每個字段的精确控制,這個模塊成了我們做各種導入數據庫的Drupal網站的必配模塊。
今年在使用Drupal 7的時候,我也準備繼續用這個模塊,但看到提示說這個模塊可能會廢棄,原因是Drupal 7有了一些與Drupal 6不同的機制。不過現在依然提供了可以在Drupal 7上運行的版本,我也試用了一下,有一些地方不是很方便,讀取字段老是報錯,breadcrumb也不能控制了。
這段時間摸索Drup
Drupal用了一年多的時間,但我們以前基本上都是簡單應用,以菜單中的設置為主,添加了少數帶有php代碼的模闆Template、區塊Block、視圖Views,還算不上進行開發。
随着網站的增多、功能需求的複雜,以後還需要進行一些開發的工作。這幾天為了讓很多個子網站共用相同的block,例如50個網站的block修改不用逐個網站打開進行菜單選擇、複制暫貼代碼,就需要編寫一個簡單的module,在這裡面加入block,以後隻需要修改這個module的代碼,就可以實現block内容的統一修改。
具體過程暫時沒空寫,以後再補。
在Drupal 6網站搭建中,我一直用Node import來導入已有數據,感覺還不錯。但近期在搭建Drupal 7網站的時候,發現Node import這個模塊已經停止開發for Drupal 7的版本了,看到推薦的替代工具是Feeds,于是這幾天摸索了一番,現在基本上可以正常使用了。有幾個地方需要注意的記錄下來:
- 提交的用戶不要使用默認的Anonymous,否則可能因為權限問題而報錯;
- 可以用浏覽器界面查看實時導入進展情況,也可以改為後台運行cron來每次50頁提交需要導入的數據;
去年在使用Drupal 6的時候,就發現用Pathauto自動生成的URL網站中,部分特殊字符會導緻頁面找不到,當時找到了解決辦法,記錄在這篇博文中《Drupal的Pathauto模塊生成帶有單引号、雙引号、反斜杠URL問題及解決》。
最近在使用Drupal 7的時候又遇到類似問題,這次不是單引号、雙引号或者反斜杠,而是+(加号)和&(and符号)出了問題,自動的編碼變成了%2B和%26,在浏覽器中無法找到。如果手工修改為%252B和%2526則可以訪問。
我在網上搜索了很多資料,找到Drupal 6的includes/common.i
上周開始嘗試Drupal網站的升級,先拿小數據量的網站做了實驗,本個人網站也算是升級成功。然後想把一個大數據量的網站也升級看看,拿了“傳真名錄”這個站來做實驗。
将其各個第三方模塊升級到Drupal 6配套的最新版本都很順利,我也就沒有把Drupal 6.20先升級到6.24,而是直接升級的,這在以前其它小數據量網站試過,沒有問題。
在Drupal 6.20中設置為“離線模式”,然後卸載所有第三方模塊,再将文件夾都換為Drupal 7.12的内容,并複制一些配置文件,在Drupal 7下就可以運行updata.php了,但看到update taxono
昨天開始準備進行Drupal的升級工作,當天就查看了大量資料,下載了最新的版本,将幾個沒有實際内容的網站進行了升級,有從6.20升級到6.24的,也有一步從6.20升級到7.12的,還有分步從6.20升級到6.24再到7.12的,因為很少涉及第三方模塊,内容也極簡單,所以算是比較順利,也積累了一點經驗,增強了升級其他正在投入使用網站的信心。
今天首先就拿我的這個個人網站開刀,上午先把6.20下的各種第三方模塊升級到最新版本,然後再将核心升級到6.24,還算是比較順利,網站的外觀、功能都變化不大,極少報錯提示。
不過再升級到7.12就不是很順利了
2010年底我開始嘗試使用Drupal來建站,替代已經使用過多年的MediaWiki,當時Drupal的最新版本是6.19,在不久後的2011年初推出了Drupal 7的正式版本,但因為很多第三方模塊都還沒有與Drupal 7配套的,所以我也一直沒有用Drupal 7,為了省事就一直用的Drupal 6,隻是中途用一個簡單的複制文件的辦法"Drupal 6.x Upgrade - Files Only"來升級到6.20。
此後Drupal 6又陸續推出了6.21, 6.22, 6.23, 6.24,但都無法使用前面的直接複制文件的辦法來更新,所以我也一直拖着沒有再升級