我在网站网站的新发展中遇到了一个非常奇怪的案例。我创建了一个块(使用自定义模块)并创建了一个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;
}
=>一切都好吗