Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Drupal节点存在时显示404_Php_Drupal_Drupal 6 - Fatal编程技术网

Php Drupal节点存在时显示404

Php Drupal节点存在时显示404,php,drupal,drupal-6,Php,Drupal,Drupal 6,有些节点在数据库中时显示404状态。如果您在管理页面中键入url来编辑该节点,您也会得到404 这些节点在数据库中以自动方式从CSV文件创建。我想问的是,哪些db字段会触发节点上的404 我已经检查了url_别名表,并且节点具有有效的条目。ie:如果我在URL中输入example.com/node/512682,它将重定向到SEF URL,但这将显示一个404,听起来你的导入有缺陷,但是没有更多信息很难知道。你用过吗?如果没有,你应该试试。如果仍然不起作用,请尝试在node_save()之后立即

有些节点在数据库中时显示404状态。如果您在管理页面中键入url来编辑该节点,您也会得到404

这些节点在数据库中以自动方式从CSV文件创建。我想问的是,哪些db字段会触发节点上的404


我已经检查了url_别名表,并且节点具有有效的条目。ie:如果我在URL中输入example.com/node/512682,它将重定向到SEF URL,但这将显示一个404,听起来你的导入有缺陷,但是没有更多信息很难知道。你用过吗?如果没有,你应该试试。如果仍然不起作用,请尝试在node_save()之后立即查看$node对象,看看它是否有新的nid值。否则,您没有将正确的信息传递给节点_save()。如果您确实获得了一个新的nid值,而节点仍然无法加载,那么我将开始研究可能破坏Drupal的模块。但是我会把钱花在切换到node_save()上解决这个问题。

您的“从CSV创建代码”自动化是否也会在“node_revisions”表中创建条目?如果没有,这将解释404——即使您已经禁用了节点类型的修订,Drupal仍然希望每个节点至少有一个条目


您也可以在导入时创建这些节点,但我同意Scott Reynen(+1)的观点,即您可能应该使用
node\u save()
来确保正确处理新创建的节点(尤其是调用相关挂钩),以防止其他意外情况。

检查正在运行的查询。我们也遇到了同样的问题,结果是导入程序正在使用不存在的uid创建条目。查询时,Drupal与用户表进行了连接,结果返回为空

SELECT n.nid, n.type, n.language, n.uid, n.status, n.created, n.changed, n.comment,
n.promote, n.moderate, n.sticky, n.tnid, n.translate, r.vid, r.uid AS revision_uid,
r.title, r.body, r.teaser, r.log, r.timestamp AS revision_timestamp, r.format, u.name,
u.picture, u.data FROM node n INNER JOIN users u ON u.uid = n.uid INNER JOIN
node_revisions r ON r.vid = n.vid WHERE n.nid = <some-number>
选择n.nid、n.type、n.language、n.uid、n.status、n.created、n.changed、n.comment、,
n、 将,n.mediate,n.sticky,n.tnid,n.translate,r.vid,r.uid作为修订版,
r、 标题,r.body,r.trister,r.log,r.timestamp作为修订版\u时间戳,r.format,u.name,
u、 图片,u.data来自节点n内部联接用户u ON u.uid=n.uid内部联接
r.vid=n.vid上的节点\u修订版r,其中n.nid=

您可以通过使用devel模块确定答案。将它指向您认为应该显示模块的URL,并查看它创建的查询

你确定它们已经出版了吗?这是一个很好的建议。我可能最终会研究它,因为我认为它会触发扩展可能需要的挂钩……这正是问题所在。某些条目在节点_修订中缺少相应的条目。谢谢。在没有任何迁移/导入的情况下,我也遇到了同样的问题。相信这是因为发生了不完整/损坏的保存。我尝试使用查看批量操作页面触发节点保存。。。但运气不好,至少有一个节点卡在时间裂缝中。