【问题标题】:How to add comments to each forum post in yii, using bbii forum module and comments-module如何在 yii 中为每个论坛帖子添加评论,使用 bbii 论坛模块和评论模块
【发布时间】:2014-12-28 12:48:14
【问题描述】:

我正在使用 Yii bbii forum 模块,它工作正常。但现在我想添加comments-module,这样每个论坛帖子都可以单独评论。

一开始它可能看起来:

我按照说明什么是here,但我无法让它工作:(

如果我只想添加评论,为什么还要包含这个文件?

当我将相同的小部件添加到用户页面时(仅用于测试) - 我得到“这个项目不能评论”,这很好,因为可能我在 main.php 中没有正确的配置。

用户模型视图和论坛视图中的小部件之间的区别在于其中传递的数据。 这里:

   public function actionPostComment()
        {
            if(isset($_POST['Comment']) && Yii::app()->request->isAjaxRequest)
            {
                $comment = new Comment();
                $comment->attributes = $_POST['Comment'];
                var_dump($comment);

var_dump 尝试在论坛中提交评论时返回 this,在用户查看页面中返回 here

可能甚至不可能将这些组合到模块中?我是 Yii 的新手。

更新:

基本上我所做的是:

  • 提取的评论模块(在protected->modules下)
  • 在 main.php(在 protected->config 下)添加了 modules 数组中的所有配置:
  •  'comments'=>array(                
                //you may override default config for all connecting models
                'defaultModelConfig' => array(
                    //only registered users can post comments
                    'registeredOnly' => false,
                    'useCaptcha' => false,
                     .......
    
  • 并在视图文件 _post.php 中添加了以下内容:

           <?php $this->widget('comments.widgets.ECommentsListWidget', array(
                                            'model' => $data,
                                        )); 
    
  • var_dump($data) 给出this(当在重新保存帖子的控制器中调用它时)。

【问题讨论】:

  • 您的问题包含很多关于内容和方式的信息,甚至是屏幕截图等 - 这是非常特殊且非常好的 ;-) 但是,如果您展示您所做的事情可能会更好。我认为人们不会阅读链接页面。有很多 cmets 等,所以我们不知道你现在到底有什么。

标签: php yii module yii-extensions comments


【解决方案1】:

这里给出了一条错误消息:

include(BbiiPost.php):打开流失败:没有这样的文件或目录

你说 Bbii 与 Yii 一起工作,当你尝试添加 cmets 时它坏了。 您的 var_dump 文件的链接已损坏,但我确实尝试阅读它们;)

看起来 cmets 模块正在干扰 POST 路径,因此当表单提交进入时,它位于与根目录不同的路径中,这会混淆 YiiBase 的自动加载器。

您可以尝试将 BbiiPost.php 的路径显式添加到自动加载器的搜索路径中,或者找到 include("BbiiPost.php") 行的位置并将其更改为绝对路径。

另一种可能是您所在的论坛页面有添加 cmets 的链接,但页面路由尚未取自该路由。因此,可能是指向 cmets 的 POST 链接实际上位于 /forum/123/comment/add 而不仅仅是 /comment/add。因此,当提交表单时,它会尝试 cmets/add 控制器/操作,但发现它在 /forum/view 中,并且对包含文件的路径感到困惑。

我通常发现 Yii (v1) [v2 docs are much better] 网站上关于这些模块的说明充其量是不稳定的。页面上的源下载链接通常指向代码的旧错误版本,因为该项目通常已移动到其他地方。您通常需要具备相当好的 PHP/Yii 知识才能调试这些用户提交的模块并使它们正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-18
    • 2016-01-02
    • 1970-01-01
    相关资源
    最近更新 更多