本人從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的朋友有所幫助。

前段時間做了“一個獨立可用的中文簡體繁體轉換PHP程序”,嘗試“Drupal中文網站簡體版本自動生成一個對應的繁體版本”,并在包括我的博客在内的幾個網站上實施,觀察沒有什麼大的問題,現在準備實施到更多的網站中,就幹脆把PHP程序擴展一下做成一個Drupal模塊,這個模塊就隻有2個文件:
其中zh_convert.info内容如下:
一直以來我們放在國外服務器上的網站在國内訪問都很慢,當網站中包含有Google地圖等内容的時候,更是在國内訪問會被卡住,等待幾十秒後才打開頁面剩餘部分,而地圖部分也是空白。
去年在做ipshu.com網站的時候也是遇到這個問題,因為這個站本身就是判斷IP地址的,所以也方便解決,當時記錄了一篇博客《讓國内國外都可以調用Google地圖API》,采用的其中第二種辦法。
但其它放在國外的網站依然沒有解決,昨天幹脆去編寫了一個簡單的Drupal模塊in_china(放在本文的附件中),主要作用就是定義一個PHP函數in_china(),用于判斷
上周四去北京Google公司參加AdSense方面的研讨會,Juliana也專門講了AMP方面的發展,特别是面向國外用戶的網站可以首先采用。我上上周五和Juliana通過電話後,上周末自己也進行了一些摸索,記錄了兩篇博客文章《準備嘗試Google推薦的AMP》、《AMP (Accelerated Mobile Pages) “加速移動網頁”中的廣告》,做了一個測試例子:https://drupal7.adsensebook.cn/?amp ,也算有了一點經驗。在去北京期間與Google的人以及其他做過百度MIP的發布商一起探讨了一些相關問題。
<我們以前在使用MediaWiki的時候注意到系統提供的搜索框功能很強大,每輸入一個字母或者數字、漢字的時候都會出現一個下拉列表顯示出包含已經輸入内容的文章标題,點擊即可進入,和Google、百度這樣的搜索引擎的搜索框很相似。如下圖:

而Drupal的内置搜索功能就沒有這樣的功能:不能随着輸入出現下拉提示、沒
很久前用MediaWiki網站的時候發現中文Wiki站有一個很方便的簡體/繁體轉換功能,是MediaWiki自帶的,我們用這種辦法做了好幾個站的繁體版本,還獲得了不少港台海外用戶來訪問。
轉用Drupal後,Drupal有更強大、更通用的多語言支持,但沒有中文Wiki站那樣的簡體/繁體自動轉換功能,我們自己也一直沒有嘗試做這種轉換。
在商量準備做更多的實用查詢詞典類網站的時候,想到要是Drupal站也有簡體/繁體轉換這個功能就好了,這兩天花了一些時間來嘗試,還基本上可以成功!現在記錄一些步驟和要點:
用Drupal搭建電子商務交易網站的工作我們很早就在做了,2011年還在用Drupal 6的時候就搭建了一個數據名錄的銷售站點,可以實現用戶支付寶或者PayPal在線支付、馬上獲得下載數據的權限,當時商城模塊選型的時候就知道有UberCart和Commerce兩種,記得評價時UberCart比較老、經典、集成使用更方便,而Commerce技術比較先進,但沒有找到支付寶的支持模塊,就選用了前者。
後來新搭建的商城網站就用的Drupal 7和UberCart 3.x,去年初還對老的Drupal 6和UberCart 2.x站點進行了升級,用戶使用起來都還方便。
在很多Drupal網站的首頁都是顯示内容的列表,這個列表可以用Views生成,可以根據不能的内容類型、字段、分類術語表等做出不同的列表,不過在有些時候列表的開頭内容比較單調或者不具有代表性,我們以前就曾經設置一個偏移值,從中間開始顯示,但這也不算一個很好的辦法,曾經想過顯示随機内容列表,可沒有實現過。
這次在修改完善一把刀辭海網站的時候,又想到這個問題,先是準備自己用PHP編寫一個随機數比對nid的程序來實現,但在網上搜索了一下,發現用Views非常容易:在排序(SORT CRITERIA)中添加Global: 随機 (Randomize)方式就可以了,注意&
最近一直忙着在做一些微信小程序方面的工作,需要的後台數據都是從Drupal網站獲取,不過開始都是純讀取一些數據,并不用到Web Services的一些增删改查等複雜操作,隻需要用Views和Views Datasource來實現Views輸出Json文件供小程序調用就可以。
不過随着開發需求的深化,必須用到微信賬号關聯Drupal網站、微信用戶提交發布内容、點贊操作、購物車、購買付款等,就需要用到一些Web Services的标準正規操作,而Drupal官方網站上提供的Services Handbook确實寫得太亂了,不好找到需要的基本調用辦法,我這幾天正在仔
以前隻從Drupal網站調用過外部的API數據,或者直接用Drupal的模塊(例如DrupalGap)給外部提供json數據,我們自己對接口數據的了解不多,這段時間因為涉及到Drupal網站之間的數據調用、Drupal為外部提供通用的API接口、Drupal網站作為數據源來開發微信小程序等事情,讓我們對API提供json數據了解更多,下面做一些筆記。
可以使用的模塊:
前些天升級Drupal到7.50以上後看到狀态報告中顯示Database 4 byte UTF-8 support未啟用,查資料後說是Drupal開始支持UTF8MB4字符集,介紹情況請看《Multi-byte UTF-8 support in Drupal 7》,可以輸入表情符号、特殊亞洲字符等。我以前在博客中用iphone手機輸入表情符号保存的時候會遇到數據庫報錯的情況,如果改用這個字符集就應該可以解決。
我們現在用的阿裡雲RDS是支持utf8mb4的,這兩天試了一下,先是準備新建一個默認utf8mb4的庫,然後把老庫内容導出、導入新庫,并用SQL語句轉換
2002-2023 v11.7 a-j-e-0