【问题标题】:Comments form in a view on DrupalDrupal 视图中的评论表单
【发布时间】:2013-08-16 17:05:20
【问题描述】:

我正在尝试建立一个类似于 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) 我想使用视图为每个相册节点创建覆盖,并且我想显示每个给定相册的所有照片,寻呼机一次只显示一张照片。这没有问题,我只需要最后一件事,每张照片(不是相册)包含所有 cmets 的评论表。所以我有寻呼机 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).

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

【问题讨论】:

    标签: drupal drupal-views


    【解决方案1】:

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

    试试

    $comment = new stdClass();
    $comment->nid = $nid;
    $form = drupal_get_form('comment_form', $comment);
    print drupal_render($form);
    

    【讨论】:

      【解决方案2】:

      我试过了:

      $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 行)。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-10-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多