Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Comments module for Yii framework
PHP JavaScript
branch: master

This branch is 5 commits ahead, 2 commits behind segoddnja:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
assets
controllers
messages
models
views/comment
widgets
CommentsModule.php
README.md

README.md

Yii Comments Extension

Yii module to add comments to any instance of CActiveRecord.

Features

  • Comments administration
  • Threaded comments
  • Each model instance with their own configuration

Installation

To add a comment to the model, you need to perform the following steps.

Add Comments table to your schema:

    CREATE TABLE IF NOT EXISTS `tbl_comments` (
    `owner_name` varchar(50) NOT NULL,
    `owner_id` int(12) NOT NULL,
    `comment_id` int(12) NOT NULL AUTO_INCREMENT,
    `parent_comment_id` int(12) DEFAULT NULL,
    `creator_id` int(12) DEFAULT NULL,
    `user_name` varchar(128) DEFAULT NULL, 
    `user_email` varchar(128) DEFAULT NULL,
    `comment_text` text,
    `create_time` int(11) DEFAULT NULL,
    `update_time` int(11) DEFAULT NULL,
    `status` int(1) NOT NULL DEFAULT '0',
    PRIMARY KEY (`comment_id`),
    KEY `owner_name` (`owner_name`,`owner_id`)
    )

Configure the module in app config:

    'modules'=>array(
        ...
        'comments'=>array(
        //you may override default config for all connecting models
        'defaultModelConfig' => array(
            //only registered users can post comments
            'registeredOnly' => false,
            'useCaptcha' => false,
            //allow comment tree
            'allowSubcommenting' => true,
            //display comments after moderation
            'premoderate' => false,
            //action for postig comment
            'postCommentAction' => 'comments/comment/postComment',
            //super user condition(display comment list in admin view and automoderate comments)
            'isSuperuser'=>'false',
            //order direction for comments
            'orderComments'=>'DESC',
        ),
        //the models for commenting
        'commentableModels'=>array(
            //model with individual settings
            'Citys'=>array(
            'registeredOnly'=>true,
            'useCaptcha'=>true,
            'allowSubcommenting'=>false,
            //config for create link to view model page(page with comments)
            'pageUrl'=>array(
                'route'=>'admin/citys/view',
                'data'=>array('id'=>'city_id'),
            ),
            ),
            //model with default settings
            'ImpressionSet',
        ),
        //config for user models, which is used in application
        'userConfig'=>array(
            'class'=>'User',
            'nameProperty'=>'username',
            'emailProperty'=>'email',
        ),
        ),
        ...
    ),

Display ECommentListWidget in view for displaying commentable models

    <?php
    $this->widget('comments.widgets.ECommentsListWidget', array(
        'model' => $model,
    ));

To manage all comments go to http://yoursite.com/modules.

Something went wrong with that request. Please try again.