我在网站网站的新开发中有一个非常奇怪的案例。我制作了一个块(带有自定义模块)并制作了一个 node_load。这里一切正常,节点加载,块显示。但是如果我更改节点的 nid(例如设置 null)并且什么都不做(没有 node_save,没有函数调用,没有这个对象),我会注意到不同的模块(比如 3 或 4 个模块)。我知道这只是通知,但我会理解为什么永远不会使用更改变量的简单事实,会触发一些错误.....示例:
$tmp = node_load(arg(1));
$tmp->nid=null;
=> 错误(不同名称函数中有很多“试图在...中获取非对象的属性”)
$tmp = node_load(arg(1));
$node=$tmp;
$node->nid=null;
=> 错误(不同名称函数中有很多“试图在...中获取非对象的属性”)
$tmp = node_load(arg(1));
$node = new stdClass();
//Copy via une boucle sinon on a des erreurs.
foreach ($tmp as $key => $value) {
if ($key != 'nid') $node->{$key} = $value;
}
=> 一切正常