7 * LICENSE: This source file is licensed under the terms of the GNU General Public License.
9 * @package Magic3 Framework
10 * @author 平田直毅(Naoki Hirata) <naoki@aplo.co.jp>
11 * @copyright Copyright 2006-2011 Magic3 Project.
12 * @license http://www.gnu.org/copyleft/gpl.html GPL License
13 * @version SVN: $Id: ec_dispWidgetContainer.php 4479 2011-11-27 13:51:34Z fishbone $
14 * @link http://www.magic3.org
16 require_once($gEnvManager->getContainerPath() . '/baseWidgetContainer.php');
18 class ec_dispWidgetContainer extends BaseWidgetContainer
23 function __construct()
26 parent::__construct();
29 * ディスパッチ処理(メインコンテナのみ実行)
31 * HTTPリクエストの内容を見て処理をコンテナに振り分ける
33 * @param RequestManager $request HTTPリクエスト処理クラス
34 * @param object $param 任意使用パラメータ。そのまま_assign()に渡る
35 * @return bool このクラスの_setTemplate(), _assign()へ処理を継続するかどうかを返す。
36 * true=処理を継続、false=処理を終了
38 function _dispatch($request, &$param)
41 $task = $request->trimValueOf(M3_REQUEST_PARAM_OPERATION_TASK);
42 if (empty($task)) $task = 'product';
46 // ##### コンテナを起動 #####
48 case 'product': // 商品表示機能
49 $this->gLaunch->goSubWidget($task);
52 $this->SetMsg(self::MSG_APP_ERR, "画面が見つかりません");
59 * _assign()でデータを埋め込むテンプレートファイルのファイル名を返す。
60 * 読み込むディレクトリは、「自ウィジェットディレクトリ/include/template」に固定。
62 * @param RequestManager $request HTTPリクエスト処理クラス
63 * @param object $param 任意使用パラメータ。そのまま_assign()に渡る
64 * @return string テンプレートファイル名。テンプレートライブラリを使用しない場合は空文字列「''」を返す。
66 function _setTemplate($request, &$param)
68 $task = $request->trimValueOf(M3_REQUEST_PARAM_OPERATION_TASK);
72 case 'product_login': // 会員向け商品表示
74 return 'message_login.tmpl.html';
76 return 'message.tmpl.html';
82 * _setTemplate()で指定したテンプレートファイルにデータを埋め込む。
84 * @param RequestManager $request HTTPリクエスト処理クラス
85 * @param object $param 任意使用パラメータ。_setTemplate()と共有。
88 function _assign($request, &$param)
90 $task = $request->trimValueOf(M3_REQUEST_PARAM_OPERATION_TASK);
94 case 'product_login': // 会員向け商品表示
96 $this->tmpl->addVar("_widget", "login_url", $this->gEnv->createCurrentPageUrl() . '&task=login'); // ログイン用URL