15 实现hook_views_default_views
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
在field_collection_views.views_default.inc文件中,我们实现了hook_views_default_views,这里放置我们导出的代码。我把中间的代码,省略掉了:
/**
在field_collection_views.views_default.inc文件中,我们实现了hook_views_default_views,这里放置我们导出的代码。我把中间的代码,省略掉了:
/**
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
在field_collection_views.views.inc,我们实现了hook_views_data这个钩子,为['field_collection_item']追加了几个新的字段,追加这些字段的目的是,为了在Views里面拼凑出来用来编辑、删除、添加的链接。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
我们这章,就主要讲Views了。刚才提到,我们受Field collection views模块的启发,我们这里介绍一个这个模块的代码。这个模块的用法,我们在Think in Drupal的第二集,里面已经介绍过了,是对Field Collection模块的一个很好的补充。Field collection views模块的主要功能,就是为Field collection类型的字段,提供一个formatter(格式化器),使用Views来呈现Field collection items。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
前面讲到,我们在module文件中,使用include_once,通过直接加载breadcrumb2.views.inc文件解决的问题,如果你到drupal.org/project/ breadcrumb2上面下载beta4以前的版本时,你会发现include_once这行代码都是存在的。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
清空缓存,向Views里面添加新的字段,此时就会看到我们这里定义的字段了:
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
我们在前面的Views的配置里面,已经看到,现有的功能已经基本能够满足我们的需求了。有时候,我们还需要为Views提供更多地字段,这里的更多,指的是超出了Entity API默认提供的那一部分。比如面包屑的编辑、删除链接,我们想直接提供出来,而不是通过字段覆写的方式实现。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
说到节点模块,我们还会主要到一个功能,当我们点击node/add这个链接时,它会自动的在覆盖层(Overlay)中打开,我们也希望,当用户点击“Add breadcrumb”,在弹出的覆盖层里面,打开我们的添加表单,而不是直接访问breadcrumb/add页面。