你在这里


字段

Drupal网站中从字段内容获取对应的Node ID

James Qi 2015年11月12日 - 17:02 发布

  在Drupal网站有时候有多个内容类型之间需要互相连接,例如内容类型company中的字段field_address,需要查找内容类型location中field_street相同的node,然后在company的显示模板中field_address做一个指向location中这个node的链接。

  在Drupal 7中可以通过Entity查询来实现,不过因为location中的field_street可能有很多是重复的,我们只能取其一,就可以在查询中限制只找到第一个range(0,1),具体代码如下:

自由标签:

将Drupal中的Computed Field转为普通文本字段

James Qi 2015年11月12日 - 16:20 发布

  几年前刚接触Drupal的时候,为了让显示的内容更丰富、也便于做Views、便于内部搜索,在Drupal 6中曾经使用过Computed Field(需要设置计算结果保存到数据库才能进行Views、搜索索引等工作),也就是一种可以嵌入PHP代码来实现计算、变换的字段,这个确实有很大的灵活性。

  不过随着对Drupal的了解,让显示的内容更丰富其实只需要修改模板,便于做Views、便于内部搜索也可以做成固定的字段,只要事先对需要导入的文本进行一些处理就可以,在Drupal 7里面就基本没有用过这种字段了。

  Drupal 8在2015年11月19日会推出第一个正式版本,Drupal 6在随后的3个月还提供安全更新,此后就不再提供更新和支持了,所以Drupal 6的升级很迫切,最近我们也一直在做这方面的工作。

  在升级带有Computed Field字段的Drupal 6网站过程中,在Drupal 7里面也可以添加Computed Field,只是字段里面的计算设置、显示设置的写法都与以前的不一样了,需要修改。但想到这也比较麻烦,而且未来如果还要升级到Drupal 8估计又得折腾,并且用这种字段不是很必要,于是就干脆把这种字段改为普通text字段算了,下面是步骤记录:

自由标签:

批量更改Drupal网站中已经创建字段的设置

James Qi 2014年9月12日 - 14:22 发布

  我们在创建系列Drupal网站的时候,都是用Drush脚本,其中运行PHP程序调用field_create_instance来创建新的字段。

  现在需要将已经创建好的字段进行一些设置修改,例如在teaser模式显示一部分字段内容,以后需要手工在网站菜单中操作,系列网站多的时候很麻烦,今天在网上查了一下资料,可以实现程序批量处理,具体PHP程序代码如下:

自由标签:

订阅 RSS - 字段