danielebarchiesi@4: 'recipe', danielebarchiesi@4: 'name' => $t('Recipe'), danielebarchiesi@4: 'base' => 'node_content', danielebarchiesi@4: 'description' => $t('The recipe node is defined to demonstrate RDF mapping.'), danielebarchiesi@4: ); danielebarchiesi@4: danielebarchiesi@4: // Set additional defaults and save the content type. danielebarchiesi@4: $content_type = node_type_set_defaults($rdf_example); danielebarchiesi@4: node_type_save($content_type); danielebarchiesi@4: danielebarchiesi@4: // Create all the fields we are adding to our content type. danielebarchiesi@4: // http://api.drupal.org/api/function/field_create_field/7 danielebarchiesi@4: foreach (_rdf_example_installed_fields() as $field) { danielebarchiesi@4: field_create_field($field); danielebarchiesi@4: } danielebarchiesi@4: danielebarchiesi@4: // Create all the instances for our fields. danielebarchiesi@4: // http://api.drupal.org/api/function/field_create_instance/7 danielebarchiesi@4: foreach (_rdf_example_installed_instances() as $bundle_name => $bundle) { danielebarchiesi@4: foreach ($bundle as $instance) { danielebarchiesi@4: $instance['entity_type'] = $bundle_name == 'recipe' ? 'node' : 'field_collection_item'; danielebarchiesi@4: $instance['bundle'] = $bundle_name; danielebarchiesi@4: field_create_instance($instance); danielebarchiesi@4: } danielebarchiesi@4: } danielebarchiesi@4: } danielebarchiesi@4: danielebarchiesi@4: /** danielebarchiesi@4: * Return a structured array defining the fields created by this content type. danielebarchiesi@4: */ danielebarchiesi@4: function _rdf_example_installed_fields() { danielebarchiesi@4: $t = get_t(); danielebarchiesi@4: $return = array( danielebarchiesi@4: 'recipe_photo' => array( danielebarchiesi@4: 'field_name' => 'recipe_photo', danielebarchiesi@4: 'cardinality' => 1, danielebarchiesi@4: 'type' => 'image', danielebarchiesi@4: ), danielebarchiesi@4: 'recipe_summary' => array( danielebarchiesi@4: 'field_name' => 'recipe_summary', danielebarchiesi@4: 'cardinality' => 1, danielebarchiesi@4: 'type' => 'text', danielebarchiesi@4: 'settings' => array( danielebarchiesi@4: 'max_length' => 500, danielebarchiesi@4: ), danielebarchiesi@4: ), danielebarchiesi@4: 'recipe_nutrition' => array( danielebarchiesi@4: 'field_name' => 'recipe_nutrition', danielebarchiesi@4: 'cardinality' => 1, danielebarchiesi@4: 'type' => 'field_collection', danielebarchiesi@4: ), danielebarchiesi@4: 'recipe_serving_size' => array( danielebarchiesi@4: 'field_name' => 'recipe_serving_size', danielebarchiesi@4: 'cardinality' => 1, danielebarchiesi@4: 'type' => 'text', danielebarchiesi@4: ), danielebarchiesi@4: 'recipe_calories' => array( danielebarchiesi@4: 'field_name' => 'recipe_calories', danielebarchiesi@4: 'cardinality' => 1, danielebarchiesi@4: 'type' => 'number_integer', danielebarchiesi@4: ), danielebarchiesi@4: ); danielebarchiesi@4: danielebarchiesi@4: return $return; danielebarchiesi@4: } danielebarchiesi@4: danielebarchiesi@4: /** danielebarchiesi@4: * Return a structured array defining the instances for this content type and danielebarchiesi@4: * related field collections. danielebarchiesi@4: */ danielebarchiesi@4: function _rdf_example_installed_instances() { danielebarchiesi@4: $t = get_t(); danielebarchiesi@4: $instances = array(); danielebarchiesi@4: $instances['recipe'] = array( danielebarchiesi@4: 'recipe_photo' => array( danielebarchiesi@4: 'field_name' => 'recipe_photo', danielebarchiesi@4: 'label' => $t('Photo of the prepared dish'), danielebarchiesi@4: ), danielebarchiesi@4: 'recipe_summary' => array( danielebarchiesi@4: 'field_name' => 'recipe_summary', danielebarchiesi@4: 'label' => $t('Short summary describing the dish'), danielebarchiesi@4: 'widget' => array( danielebarchiesi@4: 'type' => 'text_textarea', danielebarchiesi@4: ), danielebarchiesi@4: ), danielebarchiesi@4: 'recipe_nutrition' => array( danielebarchiesi@4: 'field_name' => 'recipe_nutrition', danielebarchiesi@4: 'label' => $t('Recipe Nutrition Information'), danielebarchiesi@4: ), danielebarchiesi@4: ); danielebarchiesi@4: // We attach some fields directly to the field collections. The field danielebarchiesi@4: // collection bundles are created automatically with the field definition. danielebarchiesi@4: $instances['recipe_nutrition'] = array( danielebarchiesi@4: 'recipe_serving_size' => array( danielebarchiesi@4: 'field_name' => 'recipe_serving_size', danielebarchiesi@4: 'label' => $t('Serving size'), danielebarchiesi@4: ), danielebarchiesi@4: 'recipe_calories' => array( danielebarchiesi@4: 'field_name' => 'recipe_calories', danielebarchiesi@4: 'label' => $t('Calories'), danielebarchiesi@4: ) danielebarchiesi@4: ); danielebarchiesi@4: danielebarchiesi@4: return $instances; danielebarchiesi@4: }