老葛:你好! 我在编写模块的时候遇到这么一个需求,有的实体需要手工添加一个字段后,才能写出查询操作。 比如user实体,我想查出所有的“VIP用户”,这样需要给user加个字段来标记,一般情况下需要手工添加字段,但这样明显不够优雅。 我想在安装这个模块的时候,同时也为这个实体添加了字段,后续工作就好做多了。 请问有什么办法可以编程的形式为实体添加字段呢? 谢谢! 论坛: 有问必答Drupal版本: drupal7 手动的添加,然后导出成代码,使用Features,这样就可 手动的添加,然后导出成代码,使用Features,这样就可以了。 第4集里面,讲解了一个例子,breadcrumb2,里面有通过代码添加字段的例子,你可以参考一下,类似的例子比较多。 谢谢老葛,我按照第4集第40页的方法从features模块 谢谢老葛,我按照第4集第40页的方法从features模块获得的代码如下: /** * Implements hook_field_default_field_instances(). */ function field_group_recommand_field_default_field_instances() { $field_instances = array(); // Exported field_instance: 'node-group-field_group_recommend' $field_instances['node-group-field_group_recommend'] = array( 'bundle' => 'group', 'default_value' => array( 0 => array( 'value' => 0, ), ), 'deleted' => 0, 'description' => '', 'display' => array( 'default' => array( 'label' => 'above', 'module' => 'list', 'settings' => array(), 'type' => 'list_default', 'weight' => 4, ), 'teaser' => array( 'label' => 'above', 'settings' => array(), 'type' => 'hidden', 'weight' => 0, ), ), 'entity_type' => 'node', 'field_name' => 'field_group_recommend', 'label' => '推荐小组', 'required' => 0, 'settings' => array( 'user_register_form' => FALSE, ), 'widget' => array( 'active' => 1, 'module' => 'options', 'settings' => array( 'display_label' => 1, ), 'type' => 'options_onoff', 'weight' => 35, ), ); // Translatables // Included for use with string extractors like potx. t('推荐小组'); return $field_instances; } 这个和书中的介绍有点不相符,难道是版本问题吗?我现在用的是drupal7.23版,请问如何在MODULE_install中转为编程的方式添加字段呢?如果是版本问题,你的书上介绍的应该还是有出入吧。谢谢了! features的是自动生成的,所以有些地方不一样,它有自 features的是自动生成的,所以有些地方不一样,它有自己的东西在里面,不过使用Feaures的人还是很多的,有人把使用features导出的代码,说成是自己写的。 哦,我还是不清楚,如何改成可以编程的形式为某个bundle 哦,我还是不清楚,如何改成可以编程的形式为某个bundle增加字段,照抄您的例子就可以了吗? 第四集里面有为面包屑实体(Bundle)在安装时添加lin 第四集里面有为面包屑实体(Bundle)在安装时添加link字段的例子,那是标准的写法。
手动的添加,然后导出成代码,使用Features,这样就可 手动的添加,然后导出成代码,使用Features,这样就可以了。 第4集里面,讲解了一个例子,breadcrumb2,里面有通过代码添加字段的例子,你可以参考一下,类似的例子比较多。
谢谢老葛,我按照第4集第40页的方法从features模块 谢谢老葛,我按照第4集第40页的方法从features模块获得的代码如下: /** * Implements hook_field_default_field_instances(). */ function field_group_recommand_field_default_field_instances() { $field_instances = array(); // Exported field_instance: 'node-group-field_group_recommend' $field_instances['node-group-field_group_recommend'] = array( 'bundle' => 'group', 'default_value' => array( 0 => array( 'value' => 0, ), ), 'deleted' => 0, 'description' => '', 'display' => array( 'default' => array( 'label' => 'above', 'module' => 'list', 'settings' => array(), 'type' => 'list_default', 'weight' => 4, ), 'teaser' => array( 'label' => 'above', 'settings' => array(), 'type' => 'hidden', 'weight' => 0, ), ), 'entity_type' => 'node', 'field_name' => 'field_group_recommend', 'label' => '推荐小组', 'required' => 0, 'settings' => array( 'user_register_form' => FALSE, ), 'widget' => array( 'active' => 1, 'module' => 'options', 'settings' => array( 'display_label' => 1, ), 'type' => 'options_onoff', 'weight' => 35, ), ); // Translatables // Included for use with string extractors like potx. t('推荐小组'); return $field_instances; } 这个和书中的介绍有点不相符,难道是版本问题吗?我现在用的是drupal7.23版,请问如何在MODULE_install中转为编程的方式添加字段呢?如果是版本问题,你的书上介绍的应该还是有出入吧。谢谢了!
features的是自动生成的,所以有些地方不一样,它有自 features的是自动生成的,所以有些地方不一样,它有自己的东西在里面,不过使用Feaures的人还是很多的,有人把使用features导出的代码,说成是自己写的。
手动的添加,然后导出成代码,使用Features,这样就可
手动的添加,然后导出成代码,使用Features,这样就可以了。
第4集里面,讲解了一个例子,breadcrumb2,里面有通过代码添加字段的例子,你可以参考一下,类似的例子比较多。
谢谢老葛,我按照第4集第40页的方法从features模块
谢谢老葛,我按照第4集第40页的方法从features模块获得的代码如下:
/**
* Implements hook_field_default_field_instances().
*/
function field_group_recommand_field_default_field_instances() {
$field_instances = array();
// Exported field_instance: 'node-group-field_group_recommend'
$field_instances['node-group-field_group_recommend'] = array(
'bundle' => 'group',
'default_value' => array(
0 => array(
'value' => 0,
),
),
'deleted' => 0,
'description' => '',
'display' => array(
'default' => array(
'label' => 'above',
'module' => 'list',
'settings' => array(),
'type' => 'list_default',
'weight' => 4,
),
'teaser' => array(
'label' => 'above',
'settings' => array(),
'type' => 'hidden',
'weight' => 0,
),
),
'entity_type' => 'node',
'field_name' => 'field_group_recommend',
'label' => '推荐小组',
'required' => 0,
'settings' => array(
'user_register_form' => FALSE,
),
'widget' => array(
'active' => 1,
'module' => 'options',
'settings' => array(
'display_label' => 1,
),
'type' => 'options_onoff',
'weight' => 35,
),
);
// Translatables
// Included for use with string extractors like potx.
t('推荐小组');
return $field_instances;
}
这个和书中的介绍有点不相符,难道是版本问题吗?我现在用的是drupal7.23版,请问如何在MODULE_install中转为编程的方式添加字段呢?如果是版本问题,你的书上介绍的应该还是有出入吧。谢谢了!
features的是自动生成的,所以有些地方不一样,它有自
features的是自动生成的,所以有些地方不一样,它有自己的东西在里面,不过使用Feaures的人还是很多的,有人把使用features导出的代码,说成是自己写的。
哦,我还是不清楚,如何改成可以编程的形式为某个bundle
哦,我还是不清楚,如何改成可以编程的形式为某个bundle增加字段,照抄您的例子就可以了吗?
第四集里面有为面包屑实体(Bundle)在安装时添加lin
第四集里面有为面包屑实体(Bundle)在安装时添加link字段的例子,那是标准的写法。