Skip to content
Mitsuru Mutaguchi edited this page Oct 21, 2016 · 13 revisions

ブロックプラグインのガイドライン

タブ

ヘルパーの設定

public $helpers= array(
	'Blocks.BlockTabs' => array(
		'mainTabs' => array('block_index', 'frame_settings'),
		'blockTabs' => array('block_settings', 'role_permissions'),
	),
);

Viewの設定

上部のタブ(ブロック一覧、表示方法変更など)

<?php echo $this->Block->mainTabs(BlockTabsComponent::MAIN_TAB_BLOCK_INDEX); ?>

下部のタブ(ブロック設定、権限設定)

<?php echo $this->Block->blockTabs(BlockTabsComponent::BLOCK_TAB_SETTING); ?>

ブロック一覧表示、ブロックの設定(追加・編集・削除)

データの取得、View表示等については、
AnnouncementBlocksController、BbsBlocksController、FaqBlocksControllerなどを参考にしてください。

下記にコンポーネント、ビヘイビア、ヘルパーの設定について記述します。

Permission

ブロックの操作は、全体的にルーム管理者及び編集長までが、設定を許可する。Controllerに下記を設定する

public $components = array(
	'NetCommons.Permission' => array(
		'allow' => array(
			'index,'add,edit,delete' => 'block_editable',
		),
	),
);

ビヘイビアの設定

public $actsAs = array(
	'Blocks.Block' => array(
		'name' => 'Bbs.name',
		'loadModels' => array(
			'Like' => 'Likes.Like',
			'Comment' => 'Comments.Comment',
		)
	),
);

※'name' => 'フィールド名' は、'フィールド名'が更新されたと同時に、blocksテーブルのnameフィールドも同時に更新する。
※'loadModels' => array('モデル名') は、ブロックを削除する際に、指定したモデルのデータを削除する。

ヘルパーの設定

public $helpers = array(
	'Blocks.BlockForm',
);

権限設定

データの取得、View表示等については、
(コメント機能無し)
FaqBlockRolePermissionsControllerなどを参考にしてください。

(コメント機能有り)
BbsBlockRolePermissionsControllerなどを参考にしてください。

下記にコンポーネント、ビヘイビア、ヘルパーの設定について記述します。

Permission

ブロックの権限設定は、ルーム管理者のみ設定を許可する。Controllerに下記を設定する

public $components = array(
	'NetCommons.Permission' => array(
		'allow' => array(
			'edit' => 'block_permission_editable',
		),
	),
);

コンポーネント

WorkflowComponentを必要とする。
※ただ、WorkflowComponentは、NetCommonsAppControllerで指定しているため、各プラグインでは設定不要。

ビヘイビアの設定

public $actsAs = array(
	'Blocks.BlockRolePermission',
);

ヘルパーの設定

public $helpers = array(
	'Blocks.BlockRolePermissionForm'
);