近期升级一个drupal的网站,从5.00升级到5.2,相册里面的图像都不能显示了, 分析了一下程序,发现是数据库结构不对,
不知道是升级程序的bug还是升级步骤有问题,根据数据库结构,修改了一下image.module,修复了问题。
修改如下,
function image_load(&$node) {
//$result = db_query("SELECT i.image_size, f.filepath FROM {image} i INNER JOIN {files} f ON i.fid = f.fid WHERE i.nid = %d", $node->nid);
$result = db_query("SELECT filename as image_size, filepath FROM {files} WHERE nid = %d", $node->nid);
$node->images = array();
while ($file = db_fetch_object($result)) {
$node->images[$file->image_size] = file_create_path($file->filepath);
}
drupal 的node 可以是各种东西, 如果是image,在node_load正常载入node信息后,会调用 image_load 获取image的扩展信息放在 $node[image]