余談ですが、Concrete5の拡張機能を開発する際にはMVCスキームが広く使用されていることをお伝えします。
最も単純なモジュールでは、blocks / horizintal_lineディレクトリに3つのファイルのみが必要です。
- controller.php
- view.php
- icon.png
controller.php
名前から、これがコントローラーファイルであることは既に明らかです。 MVCに精通しているすべての人は、MVCなしではできないことを理解しています。 コントローラーにはモジュールの制御コードが含まれており、モジュールによって実行されるすべてのアクションを処理します。 具体的には、このコントローラーにはBlockControllerの基本クラスから継承されたHorizintalLineBlockControllerクラスが含まれており、この場合、必要なすべてのアクション(インストール、出力など)を実行します。 クラスには、モジュール名、説明、キャッシュ設定など、クラスの必要なフィールドの定義が含まれています。
<?php defined('C5_EXECUTE') or die("Access Denied."); class HorizintalLineBlockController extends BlockController { // protected $btName = ''; // protected $btDescription = ' HR '; // protected $btCacheBlockOutput = true; // protected $btCacheBlockOutputForRegisteredUsers = true; // protected $btCacheBlockOutputLifetime = CACHE_LIFETIME; }
モジュールのあるディレクトリの名前とコントローラーの名前は命名規則であるため、互いに対応しなければならないことに注意してください。 コンプライアンスは次のように定義されます。
- ディレクトリの名前を取ります
- 最初の文字とアンダースコアに続くすべての最初の文字がある場合は、このHorizintal_Lineのように大文字にします
- アンダースコアを削除して、HorizitanLineを取得
- 最後に親コントローラーBlockControllerのクラス名を追加し、HoriziintalLineBlockControllerを取得します
契約を守らないと、システムは単にモジュールを見つけられず、インストールできません。
view.php
このファイルにはPHPとHTMLが含まれており、これらはデフォルトでページ上のモジュールコンテンツの出力を作成します。 この例では、ファイルは非常にシンプルで、2行しか含まれていません。
<?php defined('C5_EXECUTE') or die("Access Denied.");?> <hr />
どのモジュールでも、モジュールのtemplatesサブディレクトリでview.phpの類似物を無制限に作成して、外観を変更できます。 これらの「マッピング」は、コードに忍び寄る必要なく、CMSインターフェースを介してモジュールに直接接続できます。
icon.png
ページに追加されたときにモジュールリストに入力されるモジュールアイコン。
注:このCMSの制御下で機能するように作成されたすべてのPHPファイルでは、最初の行に次のコードを含める必要があります。
<?php defined('C5_EXECUTE') or die("Access Denied.");?>
最初のレッスンは終わりです。コミュニティに興味があれば、続けます。
興味のある方へのリンク
CMSウェブサイト: concrete5.org
ロシアのコミュニティ: http : //forum.c5r.ru/
ロシア語のアセンブリ: https : //c5r.ru/download/download-concrete5 。ただし、公式Webサイトからダウンロードしたディストリビューションはすでにロシア語をサポートしています。
GitHubのこのモジュール: horizintal_line