私はCodeIgniterを使用していますが、質問はどのMVCフレームワークにも当てはまります。私は5つの異なるウェブサイトの管理を可能にするカスタムCMSを持っています。ユーザーはログインして、これらのサイトを切り替えます。彼らはサイトの各領域にコンテンツを追加することができます。入力できるCMSとデータは、各サイトで同じです。同じデータに対して複数のビューを実装するためのアイデア
公開されているサイトはすべて、他のブランドと同じデータを含んでいるにもかかわらず、まったく違って見え、異なるブランドを表します。
これらのビューを実装するにはどうしたらいいですか?私が見なければならないデザインパターンはありますか?
ここで私が考えることができる唯一の方法は、switch文を各コントローラの中に入れて、各Webサイトごとに異なるビューを取得することですが、これを行うもっと巧妙な方法が必要です。
class Home extends Controller {
public function getPage()
{
$website = $this->session->userdata("site_id");
switch($website)
{
case "1":
// load view one
break;
case "2":
// load view 2
break;
// etc etc
}
}
}