「ver4/プラグイン作成ガイド」を編集中
提供: baserCMS公式ガイド
警告: ログインしていません。
編集すると、IPアドレスがこのページの編集履歴に記録されます。この編集を取り消せます。
下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
行11: | 行11: | ||
## コントローラーの利用 | ## コントローラーの利用 | ||
− | コントローラーでは、baserCMS にパッケージされている | + | コントローラーでは、baserCMS にパッケージされている BcPluginAppController を継承します。<br /> これにより、baserCMSコントローラーの基本機能が実装できます。 |
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
− | class DemoController extends | + | App::uses('BcPluginAppController', 'Controller'); |
+ | class DemoController extends BcPluginAppController{ | ||
}</syntaxhighlight> | }</syntaxhighlight> | ||
## モデルの利用 | ## モデルの利用 | ||
− | プラグインで利用するモデルでは、baserCMS にパッケージされている | + | プラグインで利用するモデルでは、baserCMS にパッケージされている BcPluginAppModel を継承させます。<br /> これにより、baserCMSモデルの基本機能が実装できます。 |
− | <syntaxhighlight lang="php"> | + | <syntaxhighlight lang="php">App::import('Model', 'BcPluginAppModel'); |
− | class Demo extends | + | class Demo extends BcPluginAppModel { |
}</syntaxhighlight> | }</syntaxhighlight> | ||
行54: | 行55: | ||
データベースは MySQL をベースに開発を行なってください。<br /> MySQLを利用する事により、適切なスキーマファイルを生成する事ができます。 | データベースは MySQL をベースに開発を行なってください。<br /> MySQLを利用する事により、適切なスキーマファイルを生成する事ができます。 | ||
− | + | テーブル名は、インストール時に設定したプレフィックスと、純粋なテーブル名の間にプラグイン用のプレフィックス「pg_」を付加します。 | |
− | <pre> | + | <pre>(例)インストール時のプレフィックスが「bc_」で、純粋なテーブル名が、「pens」の場合 |
− | + | bc_pg_pens</pre> | |
<small>※ SQLiteはインストール時のプレフィックスはありません。</small> | <small>※ SQLiteはインストール時のプレフィックスはありません。</small> | ||
行262: | 行263: | ||
class SampleControllerEventListener extends BcControllerEventListener { | class SampleControllerEventListener extends BcControllerEventListener { | ||
// 登録先イベントの定義 | // 登録先イベントの定義 | ||
− | public $events = | + | public $events = array( |
'Users.beforeRender', | 'Users.beforeRender', | ||
'Users.afterEdit', | 'Users.afterEdit', | ||
'initialize' | 'initialize' | ||
− | + | ); | |
// ユーザーコントローラーにおいてレンダリング直前に呼び出される | // ユーザーコントローラーにおいてレンダリング直前に呼び出される | ||
public function usersBeforeRender(CakeEvent $event) { | public function usersBeforeRender(CakeEvent $event) { |