private $currentPageDeviceType; // 現在のページの端末タイプ
private $currentWidgetPrefix; // 現在作成中のウィジェットのプレフィックス文字列
private $currentWidgetTitle; // 現在作成中のウィジェットのタイトル文字列
+ private $currentWidgetStyle; // 現在作成中のウィジェットのスタイル文字列
private $currentWidgetJoomlaParam; // 現在作成中のウィジェットのJoomla用パラメータ
private $isCurrentWidgetShared; // 現在作成中のウィジェットが共通ウィジェットかどうか
private $currentDomainRootUrl; // マルチドメイン運用時の現在のルートURL
/**
* 現在のテンプレートタイプ
*
- * @return int 0=デフォルトテンプレート(Joomla!v1.0),1=Joomla!v1.5,2=Joomla!v2.5
+ * @return int 0=デフォルトテンプレート(Joomla!v1.0),1=Joomla!v1.5,2=Joomla!v2.5,10=Bootstrap v3.0
*/
public function getCurrentTemplateType()
{
return $this->currentWidgetTitle;
}
/**
+ * 現在処理中のウィジェットのスタイル文字列
+ *
+ * @param bool $val スタイル文字列
+ * @return なし
+ */
+ public function setCurrentWidgetStyle($val)
+ {
+ $this->currentWidgetStyle = $val;
+ }
+ /**
+ * 現在処理中のウィジェットのスタイル文字列
+ *
+ * @return string スタイル文字列
+ */
+ public function getCurrentWidgetStyle()
+ {
+ return $this->currentWidgetStyle;
+ }
+ /**
* 現在作成中のウィジェットのJoomla用パラメータを設定
*
* @param array $val Joomla用パラメータ
const POS_HEAD_NAV_MENU = '<i class="glyphicon glyphicon-th" rel="m3help" title="ナビゲーションメニュー"></i> '; // 特殊ポジションブロック(ナビゲーションメニュー)
const WIDGET_MARK_MAIN = '<i class="glyphicon glyphicon-tower" rel="m3help" title="メインウィジェット"></i> '; // ウィジェットの機能マーク(メインウィジェット)
const WIDGET_MARK_NAVMENU = '<i class="glyphicon glyphicon-th" rel="m3help" title="ナビゲーションメニュー"></i> '; // ウィジェットの機能マーク(ナビゲーションメニュー)
-
+ const WIDGET_STYLE_NAVMENU = '_navmenu'; // ウィジェットの表示スタイル(ナビゲーションメニュー)
+
// アドオンオブジェクト用
const CONTENT_OBJ_ID = 'contentlib'; // 汎用コンテンツオブジェクトID
const BLOG_OBJ_ID = 'bloglib'; // ブログオブジェクトID
if (empty($style)){
if (strStartsWith($name, 'user') || // ナビゲーションメニュー位置の場合
strcasecmp($name, 'position-1') == 0){ // Joomla!v2.5テンプレート対応
- $style = '_mainmenu'; // デフォルトはナビゲーション型
+ $style = self::WIDGET_STYLE_NAVMENU; // デフォルトはナビゲーション型
} else {
$style = 'none';
}
// ウィジェットのタイトルを設定
$gEnvManager->setCurrentWidgetTitle('');
+
+ // ウィジェットのスタイルを設定
+ $gEnvManager->setCurrentWidgetStyle($style);
// ウィジェットのページ共通状況を設定
$gEnvManager->setIsCurrentWidgetShared($shared);
// パラメータを解除
$gEnvManager->setCurrentWidgetPrefix(''); // プレフィックス文字列
+ // ウィジェットのスタイルを解除
+ $gEnvManager->setCurrentWidgetStyle('');
+
// ウィジェットのページ共通状況を解除
$gEnvManager->setIsCurrentWidgetShared(false);
if ($gEnvManager->isAdminDirAccess()){ // 管理画面へのアクセスのとき
if ($gEnvManager->isSystemManageUser()){ // システム運用権限がある場合のみ有効(ログイン中の場合)
$this->addAdminScript('', ScriptLibInfo::LIB_BOOTSTRAP); // 管理画面でBootstrapを使用するかどうか
- $this->addAdminScript('', ScriptLibInfo::LIB_BOOTSTRAP_ADMIN); // Bootstrap管理画面オプション
+ if ($cmd != M3_REQUEST_CMD_SHOW_POSITION_WITH_WIDGET){ // 管理画面(ウィジェット付きポジション表示)以外のとき
+ $this->addAdminScript('', ScriptLibInfo::LIB_BOOTSTRAP_ADMIN); // Bootstrap管理画面オプション
+ }
} else { // ログインしていない場合(ログイン画面等)
$this->addDefaultAdminScript(ScriptLibInfo::LIB_BOOTSTRAP);
$this->addDefaultAdminScript(ScriptLibInfo::LIB_BOOTSTRAP_ADMIN);// Bootstrap管理画面オプション
} else if (strStartsWith($position, 'user') || // ナビゲーションメニュー位置の場合
strcasecmp($position, 'position-1') == 0){ // Joomla!v2.5テンプレート対応
$moduleContent = '';
- if ($style == '_mainmenu'){ // ナビゲーションバーメニューはメニュータイプのウィジェットのみ実行
+ if ($style == self::WIDGET_STYLE_NAVMENU){ // ナビゲーションバーメニューはメニュータイプのウィジェットのみ実行
if ($widgetType == 'menu') $moduleContent = $render->getMenuContents($style, $widgetContent, $title, $attr, $params, $pageDefParam, $templateVer);
// ナビゲーションバータイプで作成できないときはデフォルトの出力を取得
$imageTag .= ' />';
// ウィジェット機能マーク
- $widgetSymbol = '';
- if ($rows[$i]['wd_edit_content'] && !empty($rows[$i]['wd_type'])) $widgetSymbol = self::WIDGET_MARK_MAIN; // メインウィジェット
- if ($rows[$i]['wd_type'] == 'menu' && $rows[$i]['wd_type_option'] == 'nav') $widgetSymbol = self::WIDGET_MARK_NAVMENU; // ナビゲーションメニュー
+ $widgetMark = '';
+ if ($rows[$i]['wd_edit_content'] && !empty($rows[$i]['wd_type'])) $widgetMark = self::WIDGET_MARK_MAIN; // メインウィジェット
+ if ($rows[$i]['wd_type'] == 'menu' && $rows[$i]['wd_type_option'] == 'nav') $widgetMark = self::WIDGET_MARK_NAVMENU; // ナビゲーションメニュー
echo '<dl class="m3_widgetlist_item" id="' . $widgetTag . '">' . M3_NL;
- echo '<dt>' . $widgetSymbol . $rows[$i]['wd_name'] . '</dt>' . M3_NL; // ウィジェット名
+ echo '<dt>' . $widgetMark . $rows[$i]['wd_name'] . '</dt>' . M3_NL; // ウィジェット名
echo '<dd><table width="100%"><tr valign="top"><td width="35">' . $imageTag . '</td><td>' . $desc . '</td></tr></table></dd>' . M3_NL;
echo '</dl>' . M3_NL;
$sharedClassName = 'm3_widget_shared'; // 共通ウィジェットのクラス
}
$m3Option = 'm3="widgetid:' . $widgetId . '; serial:' . $serial . '; configid:' . $configId . '; useconfig:' . $hasAdmin . '; shared:' . $shared . '"';
+
+ // ウィジェット機能マーク
+ $widgetMark = '';
+ if ($rows[$i]['wd_edit_content'] && !empty($rows[$i]['wd_type'])) $widgetMark = self::WIDGET_MARK_MAIN; // メインウィジェット
+ if ($rows[$i]['wd_type'] == 'menu' && $rows[$i]['wd_type_option'] == 'nav') $widgetMark = self::WIDGET_MARK_NAVMENU; // ナビゲーションメニュー
+
$contents .= '<dl class="m3_widget m3_widget_sortable" id="' . $widgetTag . '" ' . $m3Option . ' >' . M3_NL;
- $contents .= '<dt class="m3_widget_with_check_box ' . $sharedClassName . '">' . $rows[$i]['wd_name'] . '</dt>' . M3_NL;
+ $contents .= '<dt class="m3_widget_with_check_box ' . $sharedClassName . '">' . $widgetMark . $rows[$i]['wd_name'] . '</dt>' . M3_NL;
$contents .= '<dd><table width="100%"><tr valign="top"><td width="35">' . $imageTag . '</td><td>' . $desc . '</td></tr></table>' . M3_NL;
$contents .= '<table width="100%"><tr><td>' . $configName . '</td><td align="right">' . $configImg . $widgetIndex . '</td></tr></table></dd>' . M3_NL;
$contents .= '</dl>' . M3_NL;
// ウィジェットのタイトルを設定
$gEnvManager->setCurrentWidgetTitle($title);
+ // ウィジェットのスタイルを設定
+ $gEnvManager->setCurrentWidgetStyle($style);
+
// ウィジェットのページ共通状況を設定
$gEnvManager->setIsCurrentWidgetShared($shared);
// パラメータを解除
$gEnvManager->setCurrentWidgetPrefix(''); // プレフィックス文字列
+ // ウィジェットのスタイルを解除
+ $gEnvManager->setCurrentWidgetStyle('');
+
// ウィジェットのページ共通状況を解除
$gEnvManager->setIsCurrentWidgetShared(false);