我正在尝试建立一个类似Facebook的画廊。这就是我现在能做的事情:
1)我创建了包含标题和说明字段的内容类型相册。
2)然后我创建了内容类型照片,包括字段图片和字段相册名称,参考节点在(1)中创建
3)然后我添加了一些示例内容。让我们说我创建了专辑A和B,以及参考专辑A的照片1,2,3和4以及参考专辑B的照片5,6,7和8。
4)我创建了一个视图,显示特定用户创建的所有专辑,同时显示每个专辑的缩略图照片。就我而言,它看起来像这样:
专辑名称: 照片1,2,3,4
专辑B名称: 照片5,6,7,8
到目前为止一直很好,我对下一个有问题。
5)我想使用视图为每个专辑节点创建覆盖,我想显示每个给定专辑的所有照片,其中寻呼机一次只显示1张照片。这不是问题,我只需要最后一件事,一张评论表,每张照片都有评论(不是专辑)。所以我有寻呼机1到8,如果我从照片1到2,我希望评论表单改变,以便它现在属于照片2。
我尝试使用视图,行样式输出部分,我尝试使用comment_form
和array('nid' => $nid)
,但我在该方法中遇到很多错误,例如
Notice: Trying to get property of non-object in comment_form() (line 1876 of D:\Programy\WebServ\httpd\fitspace\modules\comment\comment.module).
Notice: Trying to get property of non-object in locale_form_comment_form_alter() (line 403 of D:\Programy\WebServ\httpd\fitspace\modules\locale\locale.module).
我通过互联网搜索找到解决方案,但没有成功,所以你是我最后的希望。
答案 0 :(得分:0)
comment_form()
期望$comment
参数成为对象并且您正在传递数组。
尝试
$comment = new stdClass();
$comment->nid = $nid;
$form = drupal_get_form('comment_form', $comment);
print drupal_render($form);
答案 1 :(得分:0)
我试过了:
$nid=$fields['nid']->content;
$comment = new stdClass();
$comment->nid = $nid;
$form = drupal_get_form('comment_form', $comment);
print drupal_render($form);
以下消息为例:
注意:尝试在comment_form()中获取非对象的属性(D:\ Programy \ WebServ \ httpd \ fitspace \ modules \ comment \ comment.module的第1876行)。注意:尝试在comment_form()中获取非对象的属性(D:\ Programy \ WebServ \ httpd \ fitspace \ modules \ comment \ comment.module的第1878行)。注意:尝试在comment_form()中获取非对象的属性(D:\ Programy \ WebServ \ httpd \ fitspace \ modules \ comment \ comment.module的第2009行)。注意:尝试在comment_form()中获取非对象的属性(D:\ Programy \ WebServ \ httpd \ fitspace \ modules \ comment \ comment.module的第2023行)。注意:尝试在comment_form()中获取非对象的属性(D:\ Programy \ WebServ \ httpd \ fitspace \ modules \ comment \ comment.module的第2031行)。注意:尝试在comment_form()中获取非对象的属性(D:\ Programy \ WebServ \ httpd \ fitspace \ modules \ comment \ comment.module的第2037行)。注意:尝试在comment_form()中获取非对象的属性(D:\ Programy \ WebServ \ httpd \ fitspace \ modules \ comment \ comment.module的第2043行)。注意:尝试在locale_form_comment_form_alter()中获取非对象的属性(D:\ Programy \ WebServ \ httpd \ fitspace \ modules \ locale \ locale.module的第403行)。
我现在可以看到某种形式的评论,但不完整。我可以看到主题字段,保存按钮和我的名字