2017-11-02 1 views
0

私はcakephpを初めて使い、eコマースサイトで作業を始めました。以下のようなテーマの管理パネル用のプラグインを作成し、管理者パネルのテーマプラグインの構造は次のとおりです。CakePHP 3のプラグインとして使われているコントローラーとテーマコードの使い方

プラグイン/ admin_theme/

|_ config 
|_ src 
    |_ Controller 
     |_AppController.php 
    |_ Template 
     |_Layout 
      |_default.ctp 
|_ tests 
|_ webroot 

私は私のコントローラとモデルを置くべき場所今の混乱がありますAdminPanelのテーマ、メインのsrcフォルダに私のコードをすべて入れたら他のアプリケーションコードと混じります.2番目のことは私の メインアプリケーションのために他のテーマを作成したい、複数のプラグインと私が欲しいのであれば、コーディングパート(コントローラーやモデル)を置く場所が最も重要です2つのテーマ。

+0

ドキュメントを見つけることができない人や、ドキュメントを読んでいない人が、お金を伴うアプリケーションを作成したいときに、私は怖いです...マニュアルをお読みください? https://book.cakephp.org/3.0/ja/plugins.html&https://book.cakephp.org/3.0/ja/views/themes.html – burzum

+0

@burzum私は読んでいるそれはhttps://book.cakephp.org/3.0/ja/views/themes.htmlしかし、私は上記の質問を含んでいません – user3653474

+0

@burzum http://findnerd.com/list/view/Integrate-theme-in -Cakephp-3-x/28722 /それはコード化された部分をカバーしていません – user3653474

答えて

0

ルートフォルダに「plugins」という名前の新しいフォルダを作成する必要があります。次に、文書https://book.cakephp.org/3.0/en/views/themes.htmlで提案されているように、内側のプラグインdir/src/Templateのようなフォルダ構造を作成します。奥行き情報にhttps://book.cakephp.org/3.0/en/views/themes.htmlをご参照ください

// For CakePHP before 3.1 
public $theme = 'Modern'; 
// For CakePHP before 3.5 
$this->viewBuilder()->theme('Modern'); 
// For CakePHP after 3.5 
$this->viewBuilder()->setTheme('Modern'); 

そして、あなたのコントローラで

は、テーマを設定しbeforeRender()メソッドで行の下に追加します。

+0

あなたの答えをありがとうが、私はテーマの2つのプラグインを使用している場合(ユーザーエンドと他の管理パネル用)両方のビジネスロジックそれぞれのプラグインフォルダまたはすべてのコードを1つの場所、つまりsrc内のルートコントローラフォルダに配置します。それは私がクリアしたい。 – user3653474

+0

あなたがコントローラのviewBuilerによって任意のテーマのadminとuserを条件付きで呼び出すことができることを述べたように、必要に応じてプレフィックスで管理者とユーザーのエンドを分けることができます。 –

+0

私はプラグインを作成しましたが、呼び出されていますが、Parent Directory Controllerでコーディングする必要がある場合は、Model、ControllerをPluginフォルダ内で使用することはわかりません。これに答えてください。 – user3653474

関連する問題