define('M3_VIEW_TYPE_COMMERCE', 'commerce'); // Eコマース
define('M3_VIEW_TYPE_CALENDAR', 'calendar'); // カレンダー
// コンテンツタイプ
-define('M3_VIEW_TYPE_MEMBER', 'member'); // 会員情報
define('M3_VIEW_TYPE_CONTENT', 'content'); // 汎用コンテンツ
+define('M3_VIEW_TYPE_BLOG', 'blog'); // ブログ
define('M3_VIEW_TYPE_PRODUCT', 'product'); // 商品情報
define('M3_VIEW_TYPE_BBS', 'bbs'); // BBS
-define('M3_VIEW_TYPE_BLOG', 'blog'); // ブログ
define('M3_VIEW_TYPE_WIKI', 'wiki'); // Wiki
define('M3_VIEW_TYPE_EVENT', 'event'); // イベント情報
define('M3_VIEW_TYPE_PHOTO', 'photo'); // フォトギャラリー
+define('M3_VIEW_TYPE_MEMBER', 'member'); // 会員情報
// 補助コンテンツ
define('M3_VIEW_TYPE_NEWS', 'news'); // 新着情報
define('M3_VIEW_TYPE_COMMENT', 'comment'); // コメント
// フロント画面で使用する主要コンテンツタイプ
$this->mainContentTypeInfo = array(
- array( 'name' => '会員情報', 'value' => M3_VIEW_TYPE_MEMBER),
array( 'name' => '汎用コンテンツ', 'value' => M3_VIEW_TYPE_CONTENT),
+ array( 'name' => 'ブログ', 'value' => M3_VIEW_TYPE_BLOG),
array( 'name' => '製品', 'value' => M3_VIEW_TYPE_PRODUCT),
array( 'name' => 'BBS', 'value' => M3_VIEW_TYPE_BBS),
- array( 'name' => 'ブログ', 'value' => M3_VIEW_TYPE_BLOG),
array( 'name' => 'Wiki', 'value' => M3_VIEW_TYPE_WIKI),
array( 'name' => 'イベント情報', 'value' => M3_VIEW_TYPE_EVENT),
- array( 'name' => 'フォトギャラリー', 'value' => M3_VIEW_TYPE_PHOTO)
+ array( 'name' => 'フォトギャラリー', 'value' => M3_VIEW_TYPE_PHOTO),
+ array( 'name' => '会員情報', 'value' => M3_VIEW_TYPE_MEMBER)
);
// フロント画面で使用する補助コンテンツタイプ(ページ属性に対応しない)
$this->subContentTypeInfo = array( array( 'name' => '新着情報', 'value' => M3_VIEW_TYPE_NEWS),
*
* @package Magic3 Framework
* @author 平田直毅(Naoki Hirata) <naoki@aplo.co.jp>
- * @copyright Copyright 2006-2015 Magic3 Project.
+ * @copyright Copyright 2006-2018 Magic3 Project.
* @license http://www.gnu.org/copyleft/gpl.html GPL License
* @version SVN: $Id$
* @link http://www.magic3.org
$itemValue = ($request->trimValueOf($itemName) == 'on') ? 1 : 0;
$contentType = $listedItem[$i];
+ // ウィジェットカテゴリーメニューの表示制御。一旦非表示にする。
+ switch ($contentType){
+ case M3_VIEW_TYPE_BBS: // BBS
+ case M3_VIEW_TYPE_WIKI: // Wiki
+ case M3_VIEW_TYPE_EVENT: // イベント情報
+ case M3_VIEW_TYPE_PHOTO: // フォトギャラリー
+ case M3_VIEW_TYPE_MEMBER: // 会員情報
+ $this->_mainDb->updateWidgetCategoryVisible($contentType, false);
+ break;
+ case M3_VIEW_TYPE_PRODUCT: // 製品
+ case M3_VIEW_TYPE_COMMERCE: // Eコマース
+ $this->_mainDb->updateWidgetCategoryVisible(M3_VIEW_TYPE_COMMERCE, false);
+ break;
+ }
+
// コンテンツの表示可否によってウィジェットを配置
if ($itemValue){
// 表示に変更された場合のみウィジェットを配置
$this->updatePageActive($pageSubId, true); // ページ有効
}
}
+
+ // ウィジェットカテゴリーメニューの表示制御。チェックが入ったカテゴリーのみ表示させる。
+ switch ($contentType){
+ case M3_VIEW_TYPE_BBS: // BBS
+ case M3_VIEW_TYPE_WIKI: // Wiki
+ case M3_VIEW_TYPE_EVENT: // イベント情報
+ case M3_VIEW_TYPE_PHOTO: // フォトギャラリー
+ case M3_VIEW_TYPE_MEMBER: // 会員情報
+ $this->_mainDb->updateWidgetCategoryVisible($contentType, true);
+ break;
+ case M3_VIEW_TYPE_PRODUCT: // 製品
+ case M3_VIEW_TYPE_COMMERCE: // Eコマース
+ $this->_mainDb->updateWidgetCategoryVisible(M3_VIEW_TYPE_COMMERCE, true);
+ break;
+ }
} else {
// 変更状況に関わらず処理を行う
// 非選択のコンテンツタイプのウィジェットはページから削除
'task' => self::TASK_EDITMENU,
'url' => '',
'tagid' => '',
+ 'visible' => false, // 暫定非表示
'active' => (
$task == self::TASK_EDITMENU // 管理メニュー編集
)
return $ret;
}
/**
+ * ウィジェットカテゴリーの表示状態を更新
+ *
+ * @param string $id ウィジェットID
+ * @param bool $vislble 表示状態
+ * @return true = 正常、false=異常
+ */
+ function updateWidgetCategoryVisible($id, $vislble)
+ {
+ // トランザクションスタート
+ $this->startTransaction();
+
+ $queryStr = 'UPDATE _widget_category ';
+ $queryStr .= 'SET wt_visible = ? ';
+ $queryStr .= 'WHERE wt_id = ?';
+ $ret = $this->execStatement($queryStr, array(intval($vislble), $id));
+
+ // トランザクション終了
+ $ret = $this->endTransaction();
+ return $ret;
+ }
+ /**
* フロント画面のアクセスポイントのリストを取得
*
* @param function $callback コールバック関数