個人用ツール

「ver4/プラグイン作成ガイド」を編集中

提供: baserCMS公式ガイド

移動: 案内, 検索

警告: ログインしていません。

編集すると、IPアドレスがこのページの編集履歴に記録されます。
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 編集中の文章
行11: 行11:
 
## コントローラーの利用
 
## コントローラーの利用
  
コントローラーでは、baserCMS にパッケージされている AppController を継承します。<br /> これにより、baserCMSコントローラーの基本機能が実装できます。
+
コントローラーでは、baserCMS にパッケージされている BcPluginAppController を継承します。<br /> これにより、baserCMSコントローラーの基本機能が実装できます。
  
 
<syntaxhighlight lang="php">
 
<syntaxhighlight lang="php">
class DemoController extends AppController {
+
App::uses('BcPluginAppController', 'Controller');
 +
class DemoController extends BcPluginAppController{
 
}</syntaxhighlight>
 
}</syntaxhighlight>
  
 
## モデルの利用
 
## モデルの利用
  
プラグインで利用するモデルでは、baserCMS にパッケージされている AppModel を継承させます。<br /> これにより、baserCMSモデルの基本機能が実装できます。
+
プラグインで利用するモデルでは、baserCMS にパッケージされている BcPluginAppModel を継承させます。<br /> これにより、baserCMSモデルの基本機能が実装できます。
  
<syntaxhighlight lang="php">
+
<syntaxhighlight lang="php">App::import('Model', 'BcPluginAppModel');
class Demo extends AppModel {
+
class Demo extends BcPluginAppModel {
 
}</syntaxhighlight>
 
}</syntaxhighlight>
  
## ビューの利用とプレフィックス
+
## ビューの利用
  
プラグインでビューを利用する場合には、特別なルールはありません。エレメントを利用する場合には、テーマのエレメントで問題なく上書きできるように、ファイル名の先頭にプラグイン名をプレフィックスとして追加しましょう。
+
プラグインでビューを利用する場合には、特別なルールはありませんが、エレメントを利用する場合には、テーマのエレメントにて問題なく、上書きできるように、ファイル名の先頭にプラグイン名をプレフィックスとして付加する事をおすすめします。
  
テーマ内にプラグインのエレメントと同名のエレメントを配置することで、プラグインのエレメントを直接書き換えず、カスタマイズすることができるのですが、他のプラグインで、同名のエレメントが存在する場合、どちらか片方のエレメントしか上書きできなくなってしまうためです。
+
これは、baserCMSでは、テーマ内にプラグインのエレメントと同名のエレメントを配置するする事で、プラグインのエレメントを直接書き換えず、カスタマイズする事ができるのですが、他のプラグインで、同名のエレメントが存在する場合、どちらか片方のエレメントしか上書きできなくなってしまう為です。
  
 
<pre>Sample プラグインに single エレメントを配置する場合
 
<pre>Sample プラグインに single エレメントを配置する場合
行54: 行55:
 
データベースは MySQL をベースに開発を行なってください。<br /> MySQLを利用する事により、適切なスキーマファイルを生成する事ができます。
 
データベースは MySQL をベースに開発を行なってください。<br /> MySQLを利用する事により、適切なスキーマファイルを生成する事ができます。
  
テーブル名は、インストール時に設定したプレフィックスを付加します。
+
テーブル名は、インストール時に設定したプレフィックスと、純粋なテーブル名の間にプラグイン用のプレフィックス「pg_」を付加します。
  
<pre>(例)インストール時のプレフィックスが「bc_」で、テーブル名が、「pens」の場合
+
<pre>(例)インストール時のプレフィックスが「bc_」で、純粋なテーブル名が、「pens」の場合
    bc_pens</pre>
+
    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) {

baserCMS公式ガイドへのすべての投稿は、他の利用者によって編集、変更、除去される場合があります。 あなたの投稿を、他人が遠慮なく編集するのを望まない場合は、ここには投稿しないでください。
また、投稿するのは、あなたが書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください (詳細は[[Basercms:著作権 ]]を参照)。 著作権保護されている作品を、許諾なしに投稿してはいけません!

Add Categories
Update Categories

開発ガイド

  

中止 | 編集の仕方 (新しいウィンドウで開きます)