Rain

前尘旧事,几孤风月,似水长眠; 世无定事,问尽风流,只为一笑

技术与实践

ip2city 模块共享 (drupal 通过判断用户IP切换到城市子站点)

对一些分类信息站点或者城市社区化网络来说,将初次进入用户直接导向至城市主页是相当有必要的。口碑网,同城网,根本网这样的网站一般都会提供此类功能。

drupal上有大量的按ip来定位用户的模块,但基于以下原因,1,国情,提供的数据库不够全面或者恰当,
2,特定的需求不能够得到满足。所以我很难找到一个合适的模块来完成以上功能。自己开发一个吧。 在明确需求后,可以按照如下思路来进行

drupal注册时提供省市二级联动模块profile_china

功能需求

对于一个幅员广阔的国家,您甚至可以提供一个四级联动菜单来获得用户准确的来源,而对于期望知道用户来源的类型网站(如社区,论坛,企业,或者drupalchina.org本身等)来说,提供一个二级(省市)或三级(省市县)联动菜单是很正常的事情。但drupal本身自带的注册模块及taxonomy本身并不提供类似的功能。

Drupal十万级百万级节点网站优化

Drupal是一个优秀的万用平台,开发的模块也大都基于兴趣,模块开发者们并不需要在企业级的应用中去验证自己的模块执行效率,同样,mysql也是一个主要基于基础用户的模块,高级用户的使用也要经过多级别的优化。所以,大数据量的网站,不经过优化与忍痛割爱,应用是比较痛苦的事情。即使是系统级的模块,假设一个网站开发者一次性的加入50万篇文章,而也用的都是管理员的帐号,这就可以直接导致tracker模块僵硬化,全部的运转处于漫漫的等待中,在mysql数据库的数据量达到 3.6万+时,部分数据查询用时将数倍增加,本优化程序适合在Drupal节点数量在3.6万+,10万级至100万级的节点数量测试情况下网站运转良好。

实现了drupal下面的人民币支付模块

其实改动不多,但是实现了对非流通货币人民币在drupal下面的支付功能。。 结合的模块是贝宝. 外卡Paypal与财富通,均经过实测效果良好。

本模块的应用请参考 http://www.214xianhua.com/cart 点结算功能即可查看详细应用。

玩转Drupal大魔方-记开发一个drupal数据采集模块

Drupal数据采集?在讲讲这个或者是天使或者是魔鬼的模块之前,先分享一些自动维护站点的经验。

a)简单的维护

取消drupal提交页面时的input filter选择项的方法

有用户提交页面时,会出现比如 filter html,full html的内容,并不非常友好,如果你再安装几个text editor,会显得更加的乱,其实您可以通过如下方法取消这些提示, 只让用户选择对某一页面默认的输入方式

filter_module中的filter_form方法 更改为如下

使用Drupal的web服务与C#项目通讯

1,下载services项目

2,下载soap server项目

3,按照要求配置

4,drupal本身提供的web service项目中的如 node.load的web服务方式在c#应用中会强制改名并引起错误,建议将services下面的应用服务的method中的.全部去掉,形成如nodeload,nodesave之类的内容

5,默认的web服务项目的wsdl网址为 /services/soap?wdsl,您可以直接在vs 2008中添加web引用,并查到到相关的服务,将需要的服务添加至web服务中

6,在C#中编程进行调用

今天挺闲,做了个共享软件,用来监测百度,google的搜索引擎排名的

提供对主流搜索引擎的排名监控
这个版本做到了可以监测前100位的排名,
可以一次性批量监测无限个排名

爱上 ubercart

对drupal的e-commerce与ubercart模块进行了对比分析
最后爱上ubercart,
利用ubercart同浅入深地制作了几个网站
感觉相当的棒,唯一的不足是还没有auction模块,不能在drupal下使用ubercart实现拍卖功能.

制作了如下网站
1,工贸型的:http://www.ktyu.com
2,外贸型的:http://www.cejia.com
3,行业平台商务型的:http://www.e-jart.com

发现Userpoints的一个小问题

在这个模块中有一个 Give !points to 用户的语句,编程的时候可能存在一些问题,会在数据库中反复生成 Give !points to 不同的用户 的内容,既造成数据的负担而且也不容易进行其它形式的翻译,
将原来模块中的
'value' => l(t('Give !points to ' .$account->name, userpoints_translation()), $url),

修改为
'value' => l(t('Give !points to ', userpoints_translation()).$account->name, $url),
问题解决。

粤ICP备06043998号 | 未经站长同意,请勿随意转载本站内容 | 站点地图 | 友情链接 | 与我联系 | QQ:2 1 0 7 3 4 5 2