如何使用bbii论坛模块和评论模块为yii中的每个论坛帖子添加评论

时间:2014-12-28 12:48:15

标签: php yii module yii-extensions commenting

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

在开始时它可能会看起来: enter image description here

我遵循here的指示,但我无法使其发挥作用:(

enter image description here enter image description here

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

enter image description here

当我向用户页面添加相同的小部件时(仅用于测试) - 我得到了#34;此项目无法评论"它很好,因为我可能在main.php中没有正确的配置。 enter image description here

用户模型视图和论坛视图中的窗口小部件之间的差异是在其中传递的数据。 在这里:

   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->模块下)
  • main.php中的
  • (在protected-> config下)添加了模块数组中的所有配置:
  •  '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(当在重新保存帖子的控制器中调用此项时)。

1 个答案:

答案 0 :(得分:0)

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

  

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

你说Bbii正在与Yii合作,当你试图添加评论时它就破了。 你的var_dump文件的链接被破坏,但我确实尝试阅读它们;)

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

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

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

我一般发现这些模块的Yii(v1)[v2 docs更好]网站上的说明充其量只是片状。通常,页面上的源下载链接指向代码的旧版本,因为项目通常会移动到其他位置。您通常需要具备相当好的PHP / Yii知识来调试这些用户提交的模块并使其正常工作。