前段时间安装Drupal 7的时候就遇到自动在MySQL中使用InnoDB的情况,而且好像是即使MySQL默认引擎为MyISAM也依旧使用InnoDB。虽然InnoDB有自己的特点,Drupal 7选用这个也正常,但对于我们来说,有多个子网站的时候,以前是将数据库分散到多块硬盘上的,就需要用MyISAM来让每个子网站有独立的目录比较方便,所以还是需要能使用MyISAM。
按照网上找到的一篇文章,修改includes/database/mysql/shema.inc这个文件可以解决,虽然修改drupal core文件不是一个很好的办法,先这样用。
Drupal的Views是个好东西,能做出各种查询列表,基本上是我们网站的必备模块。
在一些系列网站中,因为要在各个子网站都设置相同的Views,我们就用到Views的导出、导入功能,这样只需要在一个示范网站中设置好,然后export成代码的形式,再import到其它网站就可以,还是比较方便的。
虽然一次性设置的时候导出、导入不麻烦,但如果要修改Views就比较麻烦了,我们以前是逐个网站修改,或者只修改示范网站,再在其它网站中删除旧Views、导入成新Views,如果需要反复修改,也算是比较麻烦了。
Drupal 6中的Vi
以前做Drupal首页一般就是新建一个普通页面,让在Site information中设置为首页就可以。不过考虑到我们现在有些系列网站包含几十个子网站,首页的模式基本相同,如果有些地方需要修改,就需要修改几十个首页,有些麻烦。
这次在新建网站的时候,就考虑使用模板的办法来统一,Drupal 7中没有node--front.tpl.php,就用page--front.tpl.php来做。
修改的办法很简单,复制drupal_root/themes/bartik中的page.tpl.php到drupal_root/sites/all/themes/
去年初开始用Drupal的时候就找到contemplate模块,用于定制化输出页面,觉得这个模块很好用,既可以放在数据库中也可以放在磁盘上,可以实现对每个字段的精确控制,这个模块成了我们做各种导入数据库的Drupal网站的必配模块。
今年在使用Drupal 7的时候,我也准备继续用这个模块,但看到提示说这个模块可能会废弃,原因是Drupal 7有了一些与Drupal 6不同的机制。不过现在依然提供了可以在Drupal 7上运行的版本,我也试用了一下,有一些地方不是很方便,读取字段老是报错,breadcrumb也不能控制了。
这段时间摸索Drup
Drupal用了一年多的时间,但我们以前基本上都是简单应用,以菜单中的设置为主,添加了少数带有php代码的模板Template、区块Block、视图Views,还算不上进行开发。
随着网站的增多、功能需求的复杂,以后还需要进行一些开发的工作。这几天为了让很多个子网站共用相同的block,例如50个网站的block修改不用逐个网站打开进行菜单选择、复制暂贴代码,就需要编写一个简单的module,在这里面加入block,以后只需要修改这个module的代码,就可以实现block内容的统一修改。
具体过程暂时没空写,以后再补。
在Drupal 6网站搭建中,我一直用Node import来导入已有数据,感觉还不错。但近期在搭建Drupal 7网站的时候,发现Node import这个模块已经停止开发for Drupal 7的版本了,看到推荐的替代工具是Feeds,于是这几天摸索了一番,现在基本上可以正常使用了。有几个地方需要注意的记录下来:
- 提交的用户不要使用默认的Anonymous,否则可能因为权限问题而报错;
- 可以用浏览器界面查看实时导入进展情况,也可以改为后台运行cron来每次50页提交需要导入的数据;
去年在使用Drupal 6的时候,就发现用Pathauto自动生成的URL网站中,部分特殊字符会导致页面找不到,当时找到了解决办法,记录在这篇博文中《Drupal的Pathauto模块生成带有单引号、双引号、反斜杠URL问题及解决》。
最近在使用Drupal 7的时候又遇到类似问题,这次不是单引号、双引号或者反斜杠,而是+(加号)和&(and符号)出了问题,自动的编码变成了%2B和%26,在浏览器中无法找到。如果手工修改为%252B和%2526则可以访问。
我在网上搜索了很多资料,找到Drupal 6的includes/common.i
上周开始尝试Drupal网站的升级,先拿小数据量的网站做了实验,本个人网站也算是升级成功。然后想把一个大数据量的网站也升级看看,拿了“传真名录”这个站来做实验。
将其各个第三方模块升级到Drupal 6配套的最新版本都很顺利,我也就没有把Drupal 6.20先升级到6.24,而是直接升级的,这在以前其它小数据量网站试过,没有问题。
在Drupal 6.20中设置为“离线模式”,然后卸载所有第三方模块,再将文件夹都换为Drupal 7.12的内容,并复制一些配置文件,在Drupal 7下就可以运行updata.php了,但看到update taxono
昨天开始准备进行Drupal的升级工作,当天就查看了大量资料,下载了最新的版本,将几个没有实际内容的网站进行了升级,有从6.20升级到6.24的,也有一步从6.20升级到7.12的,还有分步从6.20升级到6.24再到7.12的,因为很少涉及第三方模块,内容也极简单,所以算是比较顺利,也积累了一点经验,增强了升级其他正在投入使用网站的信心。
今天首先就拿我的这个个人网站开刀,上午先把6.20下的各种第三方模块升级到最新版本,然后再将核心升级到6.24,还算是比较顺利,网站的外观、功能都变化不大,极少报错提示。
不过再升级到7.12就不是很顺利了
2010年底我开始尝试使用Drupal来建站,替代已经使用过多年的MediaWiki,当时Drupal的最新版本是6.19,在不久后的2011年初推出了Drupal 7的正式版本,但因为很多第三方模块都还没有与Drupal 7配套的,所以我也一直没有用Drupal 7,为了省事就一直用的Drupal 6,只是中途用一个简单的复制文件的办法"Drupal 6.x Upgrade - Files Only"来升级到6.20。
此后Drupal 6又陆续推出了6.21, 6.22, 6.23, 6.24,但都无法使用前面的直接复制文件的办法来更新,所以我也一直拖着没有再升级