Drupal在中国的机会

g089h515r806 的头像
Submitted by g089h515r806 on 星期一, 2009-12-14 15:29

经常与人交流Drupal方面的信息,对于Drupal在中国的发展总是充满着期待,作为一个国外的开源软件,Drupal能否借助于开源的这一背景,能否突破中文本土的瓶颈,这是未知的。对于很多熟悉Drupal,并借助于Drupal谋生的中国用户来说,当然是期望流行的越快越好。

使用Custom Pagers轻松实现同类节点的上一页\下一页功能

g089h515r806 的头像
Submitted by g089h515r806 on 星期五, 2009-12-11 13:00

在搭建网站的时候,经常会遇到这样的小功能,显示一个节点的时候,在节点的下面,显示一个上一页/下一页这样的链接.

使用book模块,或者论坛模块,可以轻松的实现这一功能,但是对于特定的节点类型,如果不想为其创建一个book,也不想把它设置为论坛的帖子类型,而需要实现同种类型节点的.

比如上一页/下一页具体的需求可以如下:
1、链接包含标题;
2、链接的node必须与当前node同类型;
3、在第一个node和最后一个node时能判断到头/到尾,给出没有链接的提示输出。

这个时候,如果不想自己编写代码的话,那么可以使用Custom Pagers,就可以很方便的实现上述功能了.

Custom Pagers的下载地址为: http://drupal.org/project/custom_pagers

论坛:

一个可以上传多个图片的图片字段,如何在Views里面只显示该字段的第一个图片

g089h515r806 的头像
Submitted by g089h515r806 on 星期二, 2009-12-08 09:03

我在用Views输出指定类型的IMCE图像字段,因为一个node里面有很多图像字段.我只想要在views中显示其中一个.该怎么处理呢?

 

办法一: 最好是在主题层进行处理,提取第一个显示就可以了,就是说都取出来,不过只显示一个, 我以前就是这样处理的 .

不过当时不是在views里面,而是在节点模板里面,我这样处理过,核心代码为base_path().$field_image_cache[0]['filepath'];,这里要做的是提取第一个图片的路径,

但是图片的显示,需要自己处理.

 

办法二(loocor摸索出来的): 就是使用views提供的Content: Company Logo (field_company_logo) - delta,注意这里的delta,表示第几个图片的意思.

操作符为 is Equal to  0,表示提取第一个.

这样也可以解决问题,而且更简单.

 

办法三, 在图片的对应字段的设置表单(views里面),下面可以配置,显示哪些图片.

论坛:

两个drupal功用一个user系统,如何实现同步登陆和注册(尚未解决)

g089h515r806 的头像
Submitted by g089h515r806 on 星期一, 2009-12-07 15:34

问一下,两个drupal功用一个user系统,要实现同步登陆和注册,我共用了
'authmap'
'profile_fields'
'profile_values'
'role'
'sessions'
'users'
这6张表,虽然用户权限共用了,但是没有解决同步登录的问题,谁能指教一下.
 

这个问题很有代表性,我也不会,没有解决过。也不知道有没有人解决过这个问题,以及对应的文档。

 

 

Drupal版本:

如何在主菜单的位置输出另一个菜单

g089h515r806 的头像
Submitted by g089h515r806 on 星期一, 2009-12-07 15:26

有时候,我们经常会创建一个菜单,这个菜单不同于主菜单,在有的页面,我们可以直接输出主菜单,但是在另一些页面,我们不想输出主菜单,而是在同样的位置输出另一个菜单,但是这个菜单采用主菜单的样式。也就是说,已经有了一个主菜单,如何把另一个菜单作为主菜单输出。

这是一个实际的问题,我们一般可以把它们都处理为区块,然后统一处理,这是一个解决办法,但是有时候,为了省去调整CSS的工作,需要直接调用对应的函数。对于菜单项,有下面的函数可以调用,

$menu_name = variable_get('menu_primary_links_source', 'primary-links');
 $menu =  menu_tree_all_data($menu_name);
 $output = primary_links_menu_build($menu);
 return $output;
 

这样可以自己输出主菜单。上面的函数不知道对不对。放到template.php文件中,然后在模板文件中直接调用就可以了。

open atrium里面的函数menu_primary_local_tasks也值得参考以下。

 

 

论坛:

Drupal 启用性能的CSS优化后不能访问的解决方法

g089h515r806 的头像
Submitted by g089h515r806 on 星期一, 2009-12-07 15:12

我以前也遇到过同类的问题,我描述一下我遇到的问题,我的zhupou.cn在本地可以,但是在服务器上,也就是在线的站点上启用CSS优化后,就会出现一片空白,所以我一直没有启用CSS优化。这样的问题原因是由于权限的问题,在本地没有文件夹权限的问题,但是在虚拟主机上,保存合成CSS文件的文件夹,权限不够,这是我遇到的问题。

我的学员也遇到了同样的问题,不过它是在windows下面遇到的,这是它的解决办法:

在Drupal 6站点性能里开启页面缓存,一切正常,速度却实有不少提升;但再启用带宽优化中的“优化CSS文件”和“优化 JavaScript 文件”服务,整个站点就变成了,访问空白了。

解决方法:

找到 /includes/common.inc/

common.inc line 1967, function drupal_load_stylesheet

论坛:

使用购物车链接模块增加销售(Ubercart cart link module)

g089h515r806 的头像
Submitted by g089h515r806 on 星期一, 2009-12-07 12:48

当启用了Ubercart以后,为了在别的网站或者同一个网站上的不想显示购物车表单的地方,也能购直接购买产品,那么可以启用购物车链接模块.

可以根据该模块提供的规范,去创建一些链接,从而实现快速的购买.我举个例子,

<a href="http://zhupou.cn/cart/add/e-p616_q1-iquickbuy_special?destination=cart">Drupal网络培训班</a>.

这里面http://zhupou.cn/cart/add/e-p616_q1-iquickbuy_special?destination=cart,就是一个购物车链接模块可以识别的链接,它表示的含义是,

论坛:

页面

Subscribe to Think in Drupal RSS