我真的被这个困住了;我正在上传一个图像文件并获取fid,但后续创建节点并附加fid的请求失败。尽管图像字段没有用图像fid填充并且图像没有附加到节点,但节点是创建的。
我用这个ajax发布节点:
$.ajax({
url: localStorage.appurl+"/api/node.json",
type: 'post',
data: "node[title]=new node&node[type]=ftritem&node[field_ftritem_images][und][0] [fid]=7895",
dataType: 'json',
headers: {
'X-CSRF-Token': localStorage.usertoken
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
console.log('error '+errorThrown);
},
success: function (data) {
console.log("Node created");
}
});
我收到此错误:
注意:未定义的偏移量:image_field_widget_form()中的0(/var/www/dt11/modules/image/image.field.inc的第358行)。
注意:未定义的偏移量:file_field_widget_form()中的0(/var/www/dt11/modules/file/file.field.inc的第526行)。
以前有人遇到过这个吗?任何建议都是高度适用的。
答案 0 :(得分:1)
Drupal核心存在问题。我在这里提出了一个问题并提供了一个补丁,但它对我来说无法正常工作:https://www.drupal.org/node/1912458
我确实只通过修补补丁的一部分来实现它。
查找modules / file / file.field.inc的第504行并将其更改为:
if (($field['cardinality'] == FIELD_CARDINALITY_UNLIMITED || $delta < $field['cardinality']) && empty($form_state['programmed'])) {
对此:
if (($field['cardinality'] == FIELD_CARDINALITY_UNLIMITED || $delta < $field['cardinality'])) {
我不知道这是否会在其他任何地方产生不良副作用,但它确实允许以您使用它的方式使用服务。