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

我们在创建系列Drupal网站的时候,都是用Drush脚本,其中运行PHP程序调用field_create_instance来创建新的字段。
现在需要将已经创建好的字段进行一些设置修改,例如在teaser模式显示一部分字段内容,以后需要手工在网站菜单中操作,系列网站多的时候很麻烦,今天在网上查了一下资料,可以实现程序批量处理,具体PHP程序代码如下:
# change content type fields' teaser display drush ev '$instance=field_info_insta
在升级Drupal网站时需要特别注意曾经对哪些模块进行过更改,我们这里主要修改过的记录一下:
Google Analytics我们已经用了很多年,甚至在Google推出Analytics之前还是测试版的时候就申请试用。后来Analytics陆续推出的一些新功能,例如与AdSense的结合功能、新异步代码等我们都跟着使用了,感觉还是很不错的。
不过以前主要都是跟踪网站访问情况、流量来源、访问明细等,重视SEO效果、AdSense收入这些,对于Analytics中的“转化”这一块虽然看到了但一直没有关注。最近在投放AdWords广告来促进销售,这就需要更精细的追踪,1月份这段时间研究了Drupal上使用Analytics进行统计和订单销
最近总看到Drupal系统有安全升级的提示,忙于别的事情拖了一阵子,现在准备来进行,上次大规模升级还是在2013年3月,再之前就是2012年2月尝试升级,以及2011年初开始使用Drupal。
首先把我的个人网站升级,这个网站所在的服务器重装过,目前PHP用的5.2.x版本,不支持Drush,所以先只好用手工升级,步骤如下:
最近同事在为以前Drupal 6做的网站扩展多语言时发现一个问题,Drupal Core的内容找不到翻译,例如‹ previous next ›以及菜单项都没有翻译,经查是翻译更新列表(admin/build/translate/update)中本来应该是Drupal 6.28的版本不知道为什么错误识别为6.29了,因此找不到翻译信息。
这个识别错了版本的原因还没有找到(我估计是l10n模块把提示需要进行完全更新到的6.29的版本错误当成当前版本了),但可以手工在Drupal数
同事反映在用Drupal Ubercart搭建的网站中添加产品时速度非常慢的问题,产品页面可以编辑,但在添加关联下载文件的时候就需要长时间等待甚至超时报错,先以为是服务器性能或者MySQL的问题,折腾了两天都没有多大效果,今天把排错神器devel安装上,很快就发现是该页面需要运行8000多次数据库查询,而我们现在大约有4000个产品关联文件,也就是该页面需要循环4000次、每次2个数据库查询。
网上搜索了很久(用ubercart feather file slow等关键词都找不到准确的,后来用devel发现的重复MySQL查询名称查到的),终于找到与我们的情况基本
以前在设置MediaWiki网站的时候,是把一些共用的修改放在CommonSettings.php中,然后LocalSettings.php中最后加入一行:
require_once( "/usr/local/apache2/htdocs/common/CommonSettings.php" );
就可以让一系列的网站都共用CommonSettings.php这个文件中的设置,比较简单、方便,我们一直在采用。
在Drupal的网站中,因为需要在settings.php中做的修改不算多,所以以前就没
最近在处理一些小问题的时候积累了一些小程序来解决,现在记录下来以备后用。
Drupal多语言网站是通过.po的翻译文件来导入翻译数据的,有一批国家/地区名称需要导入,而以前的.po文件中包括了一部分,只需要找出并添加新的词,这个过程人工来核对比较麻烦,就用了下面这段程序:
<?php // check what countries should be added to translation file // james qi 2013-8-14 祁劲松 $array_country=array(//总的需要导入翻译的词列表 &
我们用Drupal做过桌面版网站、手机版网站,中文版网站、英文版网站、更多语言版本网站,这些站之间除了页面看得见的互相链接以外,还可以而且应该在源代码中进行链接,以便让搜索引擎更了解页面之间的关系。
请看Google的推荐:
手机版链接我们以前添加过,现在也来添加多语言版本,Drupal 7中可以修改html.tpl.php来实现,Drupal 6可以通过修改page.tpl.php来实现。
多语言Drupal网站的站点地图有一个名为xmlsitemap_i18n (XML sitemap internationalization)的插件,安装后就可以用为网站添加、生成各种语言相应的xmlsitemap,这个功能很强,特别是对于各种语言版本有不同的网址、不同的内容、不同的页面数量的复杂情况,都可以适用。
但我们在实际使用中,因为网站的数据量大(页面数达到几十万甚至上百万)、语言多(50种语言)、子网站多(一个系列可能有几十甚至几百个子网站),生成站点地图需要很长时间,而我们网站的多语言没有页面数量不同的情况,每个页面的每种语言都有一一对应的页面,生成的
2002-2023 v11.7 a-j-e-0