0

我正在尝试建立一个类似于 Facebook 的画廊。这是我现在能够做的:

1)我创建了带有标题和描述字段的内容类型相册。

2)然后我创建了内容类型的照片,带有字段图片和字段相册名称,引用在(1)中创建的节点

3)然后我添加了一些示例内容。假设我创建了相册 A 和 B,以及引用相册 A 的照片 1、2、3 和 4,以及引用相册 B 的照片 5、6、7 和 8。

4) 我创建了一个视图,显示特定用户创建的所有相册,还显示每个相册的缩略图照片。就我而言,它看起来像这样:

专辑A名称:照片1、2、3、4

专辑B名称:照片5、6、7、8

到目前为止一切顺利,我对下一个有问题。

5)我想使用视图为每个相册节点创建覆盖,并且我想显示每个给定相册的所有照片,寻呼机一次只显示一张照片。这没有问题,我只需要最后一件事,即每张照片(不是相册)包含所有评论的评论表单。所以我有寻呼机 1 到 8,如果我从照片 1 转到 2,我希望评论表单改变,以便它现在属于照片 2。

我尝试对视图进行主题化,其中的行样式输出部分,我尝试使用comment_formarray('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).

我在互联网上搜索找到解决方案但没有成功,所以你是我最后的希望。

4

2 回答 2

0

comment_form()期望$comment参数是一个对象,并且您正在传递数组。

尝试

$comment = new stdClass();
$comment->nid = $nid;
$form = drupal_get_form('comment_form', $comment);
print drupal_render($form);
于 2013-08-16T17:40:14.913 回答
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 的第 2037 行:\Programy\WebServ\httpd\fitspace\modules\comment\comment.module)。注意:试图在 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 行)。

我现在可以看到某种形式的评论,但不是完整的。我可以看到主题字段、保存按钮和我的名字

于 2013-08-17T07:10:19.027 回答