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-2010 Magic3 Project.
12 * @license http://www.gnu.org/copyleft/gpl.html GPL License
13 * @version SVN: $Id: m_blog_categoryWidgetContainer.php 3834 2010-11-17 04:17:07Z fishbone $
14 * @link http://www.magic3.org
16 require_once($gEnvManager->getContainerPath() . '/baseMobileWidgetContainer.php');
17 require_once($gEnvManager->getCurrentWidgetDbPath() . '/blog_categoryDb.php');
19 class m_blog_categoryWidgetContainer extends BaseMobileWidgetContainer
21 private $db; // DB接続オブジェクト
22 private $langId; // 言語
23 const TARGET_WIDGET = 'm/blog'; // 呼び出しウィジェットID
24 const DEFAULT_TITLE = 'ブログカテゴリー'; // デフォルトのウィジェットタイトル名
29 function __construct()
32 parent::__construct();
35 $this->db = new blog_categoryDb();
40 * _assign()でデータを埋め込むテンプレートファイルのファイル名を返す。
41 * 読み込むディレクトリは、「自ウィジェットディレクトリ/include/template」に固定。
43 * @param RequestManager $request HTTPリクエスト処理クラス
44 * @param object $param 任意使用パラメータ。そのまま_assign()に渡る
45 * @return string テンプレートファイル名。テンプレートライブラリを使用しない場合は空文字列「''」を返す。
47 function _setTemplate($request, &$param)
49 return 'menu.tmpl.html';
54 * _setTemplate()で指定したテンプレートファイルにデータを埋め込む。
56 * @param RequestManager $request HTTPリクエスト処理クラス
57 * @param object $param 任意使用パラメータ。_setTemplate()と共有。
60 function _assign($request, &$param)
62 $this->langId = $this->gEnv->getCurrentLanguage(); // 表示言語を取得
64 // #### カテゴリーリストを作成 ####
65 $this->db->getAllCategory(array($this, 'categoryListLoop'), $this->langId);// デフォルト言語で取得
70 * @param RequestManager $request HTTPリクエスト処理クラス
71 * @param object $param 任意使用パラメータ。そのまま_assign()に渡る
72 * @return string ウィジェットのタイトル名
74 function _setTitle($request, &$param)
76 return self::DEFAULT_TITLE;
81 * @param int $index 行番号(0~)
82 * @param array $fetchedRow フェッチ取得した行
83 * @param object $param 未使用
84 * @return bool true=処理続行の場合、false=処理終了の場合
86 function categoryListLoop($index, $fetchedRow, $param)
89 $name = $fetchedRow['bc_name'];
90 $linkUrl = $this->createCmdUrlToWidget(self::TARGET_WIDGET, 'act=view&' . M3_REQUEST_PARAM_CATEGORY_ID . '=' . $fetchedRow['bc_id']);
92 'link_url' => $this->convertUrlToHtmlEntity($this->getUrl($linkUrl, true/*リンク用*/)), // リンク
93 'name' => $this->convertToDispString($name) // タイトル
95 $this->tmpl->addVars('itemlist', $row);
96 $this->tmpl->parseTemplate('itemlist', 'a');