2011-09-13 2 views
1

例として、管理領域とCRUDにjUIテンプレートを使用したいと思います.FrontEndとPageにElephantテーマ(またはスーパーシークレットカスタム)を使用したいと思います。もしそうなら、どうすればこれを定義するのか。私はそれぞれのエリアに別々のAPIを作成しますか?これは私のindex.phpのRootにあります。そして私は共有テンプレートを変更し、古いものも維持したいと思います。 私はroot/atk4/templates/MyNewTemplateで新しいJUIテーマ+ css + imagesを使って新しいDirを作成し、root/atk4/templates/sharedに新しいDirを作成するか、またはページクラスで定義されていると思いますメインアプリの?定義によりフロントエンドからバックエンドまで異なるテンプレートを定義できますか?

include 'atk4/loader.php'; 
$api=new Frontend('sample_project','elephant'); 
$api->main(); 

http://agiletoolkit.org

答えて

1

、あなたの管理とあなたのフロントエンドは異なるWebアプリケーションであり、彼らは異なるAPIのクラスを持っているに値します。また、エントリポイントが異なるため、それらは異なるURLに配置する必要があります。フロントエンド/ index.phpの内容は含まれています:

$api=new Frontend('MyFrontend','elephant'); 

しばらくの間、管理者/ index.phpを

$api=new Admin('MyAdmin'); 

あなたはまた、フロントエンドのためにその認証を確認していることのように別々のアプリケーションを有することによりユーザーが管理領域にアクセスすることを許可しません。

管理クラスが異なっているが、それはに完全に正常です:

  • 両方のAPIクラスの共通の祖先を定義します。 (AdminクラスはMyAppを継承し、FrontendクラスはMyAppを継承します)
  • 特に、何らかの計算が必要な場合は、同じコントローラを使用してください。たとえば、Payroll Web Appを実装する場合は、両方のAPIに$ this-> payroll = $ this-> add( 'Controller_Payroll')を追加することができます。
  • モデルは単に共有しなければなりません。同じデータベースにアクセスしているためです。あなたは、フロントエンドの "lib"フォルダをPHPリソースとして管理者に含めるだけです。

ページを共有してはいけません。ページを混在させたくありません。

+0

ありがとう、もう一度男! – CAM