我在Drupal 7中添加了一个内容类型,这个内容类型只包含一个文件字段:每个文件都必须包含这样的数组:
'rows' => array(
array(0,0), //(x,y) values
array(90,90),
array(59,70),
array(65,77),
array(85,66),
)
我想从视图模块中读取文件的内容并将数组发送到所选的图形类型:例如用户选择一个文件然后是一个pieChart图,如何发送文件(数组)的内容去图库的pieChart?这可能来自视图模块吗?必须将哪些函数添加到视图插件才能将文件内容发送到选定的库?
答案 0 :(得分:0)
要解决您的问题,您可以实现2个钩子:
通过这种方式,您可以在视图字段设置中看到格式化程序。只需选择“文件获取内容”格式化程序即可完成。
@see => http://i.stack.imgur.com/D2aNJ.png
在自定义模块中输入以下代码:
function mymodule_field_formatter_info() {
return array(
'file_get_contents_formatter' => array(//Machine name of the formatter
'label' => t('File get content'),
'field types' => array('file'), //This will only be available to file fields
),
);
}
function mymodule_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
$element = array(); // Initialize the var
switch ($display['type']) {
case 'file_get_contents_formatter':
foreach ($items as $delta => $item) {
$element[$delta] = array('#markup' => empty($item['uri']) ? '' : file_get_contents(file_create_url($item['uri'])));
}
break;
}
return $element;
}