当前位置


Drupal

Drupal实现带模板的调查问卷功能

James Qi 在 2017年4月27日 - 21:49 提交

  我用Drupal很多年了,但以前一直都是用在我们自己运营的网站,给客户开发的项目都还是公司技术部人员使用的其它技术(例如Java, .Net, asp, PHP等),今年初在商议工作的时候也计划把Drupal用于客户项目。

  前段时间做一个客户要求的微信小程序项目,就让同事用Drupal搭建的后台,用Views生成Json数据提供给小程序调用,只是一些公司新闻等展示型内容,算是比较简单,但涉及到用户希望所见即所得编辑器中可以直接上传文件(后来采用了百度的UEdit模块)、希望文章可以调整排序(后来采用增加排序字段解决)等,也是费了一些波折,另外,Drupal一开始使用确实没有国产CMS容易上手。

  再后面的客户项目我也没有强调要用Drupal,让公司技术人员自己选定开发平台。不过现在遇到一个客户需要做调查问卷系统中需要能保存和调用预设模板,其它CMS中没有找到现成的,自己开发虽然从原理上可以实现,但开发工作量肯定还是有不少的。我今天花了一些时间来查找、测试,算是找到用Drupal的解决办法。

自由标签:

Drupal网站中文简体繁体转换的模块

James Qi 在 2017年3月28日 - 11:36 提交

  前段时间做了“一个独立可用的中文简体繁体转换PHP程序”,尝试“Drupal中文网站简体版本自动生成一个对应的繁体版本”,并在包括我的博客在内的几个网站上实施,观察没有什么大的问题,现在准备实施到更多的网站中,就干脆把PHP程序扩展一下做成一个Drupal模块,这个模块就只有2个文件:

一个判断访问者是否来自中国大陆的Drupal模块及PHP函数

James Qi 在 2017年3月24日 - 12:31 提交

  一直以来我们放在国外服务器上的网站在国内访问都很慢,当网站中包含有Google地图等内容的时候,更是在国内访问会被卡住,等待几十秒后才打开页面剩余部分,而地图部分也是空白。

  去年在做ipshu.com网站的时候也是遇到这个问题,因为这个站本身就是判断IP地址的,所以也方便解决,当时记录了一篇博客《让国内国外都可以调用Google地图API》,采用的其中第二种办法。

  但其它放在国外的网站依然没有解决,昨天干脆去编写了一个简单的Drupal模块in_china(放在本文的附件中),主要作用就是定义一个PHP函数in_china(),用于判断访问者IP地址是否属于中国大陆,如果属于返回True,反之返回False。

  in_china模块一共4个文件:

自由标签:

Drupal网站生成AMP版本页面

James Qi 在 2017年3月21日 - 15:07 提交

  上周四去北京Google公司参加AdSense方面的研讨会,Juliana也专门讲了AMP方面的发展,特别是面向国外用户的网站可以首先采用。我上上周五和Juliana通过电话后,上周末自己也进行了一些摸索,记录了两篇博客文章《准备尝试Google推荐的AMP》、《AMP (Accelerated Mobile Pages) “加速移动网页”中的广告》,做了一个测试例子:https://drupal7.adsensebook.cn/?amp ,也算有了一点经验。

自由标签:

Drupal搜索自动完成(Search Autocomplete)模块

James Qi 在 2017年3月9日 - 17:22 提交

  我们以前在使用MediaWiki的时候注意到系统提供的搜索框功能很强大,每输入一个字母或者数字、汉字的时候都会出现一个下拉列表显示出包含已经输入内容的文章标题,点击即可进入,和Google、百度这样的搜索引擎的搜索框很相似。如下图:

  而Drupal的内置搜索功能就没有这样的功能:不能随着输入出现下拉提示、没法直接进入页面,只能查看搜索结果再点击进入。

  我们曾经尝试过Apache Solr,配置比较麻烦,维护起来不容易,而且搜索出来的效果也不尽如人意。一些其它尝试记录在《替换Drupal系统提供的搜索框和结果》中。

自由标签:

Drupal中文网站简体版本自动生成一个对应的繁体版本

James Qi 在 2017年3月3日 - 14:14 提交

  很久前用MediaWiki网站的时候发现中文Wiki站有一个很方便的简体/繁体转换功能,是MediaWiki自带的,我们用这种办法做了好几个站的繁体版本,还获得了不少港台海外用户来访问。

  转用Drupal后,Drupal有更强大、更通用的多语言支持,但没有中文Wiki站那样的简体/繁体自动转换功能,我们自己也一直没有尝试做这种转换。

  在商量准备做更多的实用查询词典类网站的时候,想到要是Drupal站也有简体/繁体转换这个功能就好了,这两天花了一些时间来尝试,还基本上可以成功!现在记录一些步骤和要点:

Drupal电子商务网站的Web Services调用接口

James Qi 在 2017年3月1日 - 09:54 提交

  用Drupal搭建电子商务交易网站的工作我们很早就在做了,2011年还在用Drupal 6的时候就搭建了一个数据名录的销售站点,可以实现用户支付宝或者PayPal在线支付、马上获得下载数据的权限,当时商城模块选型的时候就知道有UberCartCommerce两种,记得评价时UberCart比较老、经典、集成使用更方便,而Commerce技术比较先进,但没有找到支付宝的支持模块,就选用了前者。

  后来新搭建的商城网站就用的Drupal 7和UberCart 3.x,去年初还对老的Drupal 6和UberCart 2.x站点进行了升级,用户使用起来都还方便。

Drupal网站首页显示随机列表Views

James Qi 在 2017年2月22日 - 09:18 提交

  在很多Drupal网站的首页都是显示内容的列表,这个列表可以用Views生成,可以根据不能的内容类型、字段、分类术语表等做出不同的列表,不过在有些时候列表的开头内容比较单调或者不具有代表性,我们以前就曾经设置一个偏移值,从中间开始显示,但这也不算一个很好的办法,曾经想过显示随机内容列表,可没有实现过。

  这次在修改完善一把刀辞海网站的时候,又想到这个问题,先是准备自己用PHP编写一个随机数比对nid的程序来实现,但在网上搜索了一下,发现用Views非常容易:在排序(SORT CRITERIA)中添加Global: 随机 (Randomize)方式就可以了,注意“缓存”设置为“无”,Block caching设置为Do not cache。如下图:

  首页上显示出来效果如下:

自由标签:

Drupal网站的Web Services调用

James Qi 在 2017年1月19日 - 22:13 提交

  最近一直忙着在做一些微信小程序方面的工作,需要的后台数据都是从Drupal网站获取,不过开始都是纯读取一些数据,并不用到Web Services的一些增删改查等复杂操作,只需要用ViewsViews Datasource来实现Views输出Json文件供小程序调用就可以。

  不过随着开发需求的深化,必须用到微信账号关联Drupal网站、微信用户提交发布内容、点赞操作、购物车、购买付款等,就需要用到一些Web Services的标准正规操作,而Drupal官方网站上提供的Services Handbook确实写得太乱了,不好找到需要的基本调用办法,我这几天正在仔细看,也顺便整理了一些,记录如下。

  各种访问网址:

自由标签:

Drupal网站输出json数据供外部接口调用

James Qi 在 2016年12月19日 - 17:17 提交

  以前只从Drupal网站调用过外部的API数据,或者直接用Drupal的模块(例如DrupalGap)给外部提供json数据,我们自己对接口数据的了解不多,这段时间因为涉及到Drupal网站之间的数据调用、Drupal为外部提供通用的API接口、Drupal网站作为数据源来开发微信小程序等事情,让我们对API提供json数据了解更多,下面做一些笔记。

  可以使用的模块:

自由标签:

页面

订阅 RSS - Drupal