本人從2010年開始使用Drupal,比此前使用的MediaWiki更符合通用的建站要求,Drupal對多語言、多站點的支持也是我選擇它的重要因素。從最開始的6.x到7.x再到8.x,我一直都在使用,在這過程中需要修改模闆、自建模塊,也學會了PHP以及其它一些技術。在本博客中我也記錄了很多日常使用Drupal中遇到的問題、解決的辦法,希望對其他使用Drupal的朋友有所幫助。

這是 Drupal 分類的頁面,點擊下面标題查看詳細文章内容:
本人從2010年開始使用Drupal,比此前使用的MediaWiki更符合通用的建站要求,Drupal對多語言、多站點的支持也是我選擇它的重要因素。從最開始的6.x到7.x再到8.x,我一直都在使用,在這過程中需要修改模闆、自建模塊,也學會了PHP以及其它一些技術。在本博客中我也記錄了很多日常使用Drupal中遇到的問題、解決的辦法,希望對其他使用Drupal的朋友有所幫助。


前面寫了兩篇SSL認證方面的博文:《申請免費的SSL證書,開通https網站》、《https多網站1個IP多個SSL證書的Apache設置辦法》,看上去也不是那麼複雜,但實際在做http到https站點遷移的過程中還是有一些細節需要注意,這裡把Dru
以前在Wiki網站中文章或者讨論的匿名發布者都是顯示出IP地址來(例如這個“周公解夢”頁面下方的用戶留言),這樣方便管理員或者其他用戶了解内容發布者的來源,也便于監控防範垃圾内容。而Drupal網站中留言的匿名發布者都是顯示“匿名”或者用戶自己留下的名稱和鍊接。
今天嘗試了一下Drupal中修改模闆文件comment.tpl.php,是可以實現顯示留言者IP相關信息的,可以讓注冊用戶和匿名用戶的IP地址都顯示出來,具體代碼如下:
<?php /** * @file
雖然Drupal 8出來大半年了,但我們依然以Drupal 7為主,先前用的7.43已經好幾個月了,現在出了安全更新Drupal 7.52,就照例進行了更新,有幾點稍微不同的地方記錄一下:
部分網站升級後用戶浏覽沒有問題,但管理員界面發現大量的報錯:
The following module has moved within the file system: <em class="placeholder">views_bulk_operations</em>
以前Drupal網站中遇到需要對Views的輸出進行一些變換的時候,一般是通過安裝Views PHP這個模塊,在Views中添加Global PHP字段,在其中設置讀取什麼值、進行什麼變換、輸出什麼内容,這個方式很早就開始用了,Drupal 6和Drupal 7都用過。但缺點是設置麻煩,還可能會引起負載的升高。
最近在調試一個新的網站中就遇到數據量大的時候,服務器報500錯誤,甚至導緻阿裡雲服務器死機的情況。檢查後發現都是與Views相關,先安裝了Views PagerLite來減少MySQL的Count指令,但依然有不少内存不足的報錯。
使用Drupal很多年了,在站内搜索上基本上都是采用了系統自帶的搜索功能,搜索框基本沒變,隻是搜索結果頁通過search-results.tpl.php和search-result.tpl.php進行過一些小的修改。但遇到了數據量巨大、漢字編碼等問題的時候,也在某些情況下采用過其它方式:
我們這邊從一開始使用Drupal就是利用的其本身的數據庫結構,page, node, taxonomy, term等等都是使用Drupal本身的概念,很少直接操作數據,需要大量已有數據(一般是csv格式文件)導入網站的時候,就用第三方模塊node_import (Drupal 6)或者feeds (Drupal 7)來設置和進行導入,形成頁面以及分類,再輔助設置Views進行需要的列表。
以上的辦法相對來說簡單易行,特别是在使用Drupal初期,我們對PHP程序和MySQL數據庫不很熟悉的情況下。但在一些需要實現複雜一些功能的時候,這樣的辦法就有局限
2011年初剛用Drupal不久的時候寫了一篇博客《被迫自學PHP來構建Drupal網站》,這幾年來一直用Drupal搭建和運營網站,PHP的基礎用法算是比較熟悉了(高級用法沒有接觸)。2016年5月開始摸索《以Drupal網站為基礎創建App》,接觸到JavaScript、PhoneGap等,而且DrupalGap這個中間橋梁模塊及開發工具的使用中,也必須對JavaScript了解以便讀懂開源JS程序以及進行必要的修改。
網上搜了一下教材,又購買了《JavaScript入門經典》、《構建跨平台APP HTML 5+PhoneGap移動應用實戰》等基本書。Ja
最近需要編寫一段程序來讀取Drupal網站中頁面Node的某個文本字段,進行處理、判斷、匹配後,将這個頁面歸類Taxonomy到某個術語表Vocabulary的術語Term中。在剛開始用Drupal 6的時候就曾經編寫過類似程序來分類,見博文《Drupal中讓Node歸類的PHP程序》,在後來使用Drupal 7的過程中,絕大多數分類都是在創建網站、導入數據的時候就自動進行了,使用了術語來源Term reference字段和自動完成術語挂件(标簽)Autocomplete term widget (tagging)控件,但也有把數據作為文本導入字段,然後再運行php程序進行分類的情況
2010年剛開始用Drupal還是Drupal 6,移動大潮未到來,後來随着智能手機的普及,我們在Drupal 6、Drupal 7上都設置了對應的手機版網站,現在又都合并到響應式設計網站中。但以Drupal網站為基礎開發App我們還沒有做過,隻是以前聽說是可行的,在前年北京亞艾元公司在武漢大學圖書館的培訓時,他們也講過一點點cordova,但實踐的時間很短,隻留下一點印象。雖然現在再開發App看上去已經晚了,難以讓用戶接受在手機上安裝更多App,但我還是想嘗試一下。今年初用Drupal與微信結合的模塊做了一點微信公衆号的開發可以有基本的效果,現在再來做App端的結合,下面把嘗試的步
2010年前我們主要使用MediaWiki平台來建網站,2011年後改用更為通用的Drupal内容管理系統,新網站就用Drupal搭建,而老的Wiki網站就維持運行、管理留言等,兩個系統中可能有一部分相同的内容,都是獨立導入添加的。現在想把一個MediaWiki中用戶創建的頁面内容遷移到Drupal網站中,思路是從MediaWiki導出XML文件,變換為CSV格式,然後導入Drupal站,具體記錄如下:
2002-2023 v11.7 a-j-e-0