Skip to content

kteraguchi/test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ContentComments

ContentComments for NetCommons3

Build Status Coverage Status

dependencies status
composer.json Dependency Status
<style> .markdown-body h4 { font-size: 1.15em; } </style>

概要

コンテンツの一覧にコメント数を表示する機能と、コンテンツの詳細でコメントを投稿する機能を提供します。
利用するプラグインはコメントの使用有無(use_comment)、コメントの承認有無(use_comment_approval)を定義してください。

コンテンツの一覧にコメント数を表示

ContentCommentBehaviorとContentCommentHelperを使用します。
コメントと紐づくモデルにContentCommentBehavior、
コンテンツ一覧のコントローラーにContentCommentHelperを定義してください。

サンプルコード
コントローラー
class VideosController extends VideosAppController {

	public $uses = array(
		'Videos.Video',
		'Videos.VideoBlockSetting'
	);

	public $helpers = array(
		'ContentComments.ContentComment' => array(
			'viewVarsKey' => array(
				'useComment' => 'videoBlockSetting.use_comment',
				'useApproval' => 'videoBlockSetting.use_comment_approval'
			)
		)
	);

	public function index() {
		$query = array(
			'conditions' => array(
				'VideoBlockSetting.block_key' => Current::read('Block.key')
			)
		);
		$viewVars['videoBlockSetting'] = $this->VideoBlockSetting->find('first', $query);
		$viewVars['videos'] = $this->Video->find('all');

		$this->set($viewVars);
	}
}
モデル
class Video extends VideoAppModel {
	public $actsAs = array(
		'ContentComments.ContentComment'
	);
}
ビュー(ctpテンプレート)
<?php
	foreach ($videos as $video) {
		echo $video['Video']['title'];
		echo $this->ContentComment->count($video);
	}
?>

コンテンツの詳細でコメントを投稿する

ContentCommentsComponentとContentCommentHelperを使用します。
コンテンツ詳細のコントローラーにContentCommentsComponentを定義してください。

サンプルコード
コントローラー
class VideosController extends VideosAppController {

	public $uses = array(
		'Videos.Video',
		'Videos.VideoBlockSetting'
	);

	public $components = array(
		'ContentComments.ContentComments' => array(
			'viewVarsKey' => array(
				'useComment' => 'videoBlockSetting.use_comment',
				'useApproval' => 'videoBlockSetting.use_comment_approval'
			),
			'allow' => array('view')
		)
	)

	public function view($videoKey) {
		$query = array(
			'conditions' => array(
				'VideoBlockSetting.block_key' => Current::read('Block.key')
			)
		);
		$viewVars['videoBlockSetting'] = $this->VideoBlockSetting->find('first', $query);

		$query = array(
			'conditions' => array(
				'Video.key' => $videoKey,
				'Video.language_id' => Current::read('Language.id')
			)
		);
		$viewVars['video'] = $this->Video->find('first', $query);

		$this->set($viewVars);
	}
}
ビュー(ctpテンプレート)
<?php
	echo $video['title'];
	echo $this->ContentComment->index($video['Video']['key']);
?>

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published