OSDN Git Service

「ブログメイン」ウィジェットの管理画面、記事一覧にプレビューボタンを付ける。
authornaoki hirata <naoki@magic3.org>
Thu, 14 Nov 2013 05:46:48 +0000 (14:46 +0900)
committernaoki hirata <naoki@magic3.org>
Thu, 14 Nov 2013 05:46:48 +0000 (14:46 +0900)
widgets/blog_main/include/container/admin_blog_mainEntryWidgetContainer.php
widgets/blog_main/include/help/index.php
widgets/blog_main/include/template/admin_entry.tmpl.html
widgets/blog_main/include/template/admin_entry_detail.tmpl.html

index d38e17f..13b39a8 100644 (file)
@@ -264,6 +264,12 @@ class admin_blog_mainEntryWidgetContainer extends admin_blog_mainBaseWidgetConta
                self::$_mainDb->getAllCategory($this->langId, $this->categoryListData);
                $this->createCategoryMenu(1);           // メニューは1つだけ表示
                
+               // プレビュー用URL
+               $previewUrl = $this->gEnv->getDefaultUrl() . '?' . M3_REQUEST_PARAM_PAGE_SUB_ID . '=' . $this->gEnv->getPageSubIdByContentType($this->gEnv->getDefaultPageId(), M3_VIEW_TYPE_BLOG);
+               $previewUrl .= '&' . M3_REQUEST_PARAM_OPERATION_COMMAND . '=' . M3_REQUEST_CMD_PREVIEW;
+//             if ($this->isMultiLang) $previewUrl .= '&' . M3_REQUEST_PARAM_OPERATION_LANG . '=' . $this->langId;             // 多言語対応の場合は言語IDを付加
+               $this->tmpl->addVar('_widget', 'preview_url', $previewUrl);// プレビュー用URL(一般画面)
+               
                // ボタン作成
                $searchImg = $this->getUrl($this->gEnv->getRootUrl() . self::SEARCH_ICON_FILE);
                $searchStr = '検索';
@@ -375,6 +381,9 @@ class admin_blog_mainEntryWidgetContainer extends admin_blog_mainBaseWidgetConta
                $reloadData = false;            // データの再ロード
                if ($act == 'select'){          // 一覧から選択のとき
                        $reloadData = true;             // データの再ロード
+               } else if ($act == 'new'){
+                       $this->serialNo = 0;
+                       $reloadData = true;             // データの再読み込み
                } else if ($act == 'selectlang'){               // 項目選択の場合
                        // 登録済みのコンテンツデータを取得
                        $this->serialNo = self::$_mainDb->getEntrySerialNoByContentId($this->entryId, $this->langId);
@@ -728,6 +737,35 @@ class admin_blog_mainEntryWidgetContainer extends admin_blog_mainBaseWidgetConta
                                
                                // ユーザ定義フィールド
                                $this->fieldValueArray = $this->unserializeArray($row['be_option_fields']);
+                       } else {
+                               $this->entryId = '0';           // 記事ID
+                               $this->blogId = '';             // 所属ブログ
+                               $name = '';                             // タイトル
+                               $html = '';                             // HTML
+                               $html2 = '';                            // HTML
+                               $desc = '';             // 簡易説明
+                               $status = 0;                            // エントリー状況
+                               $reg_user = '';                         // 投稿者
+                               $entry_date = date("Y/m/d");            // 投稿日
+                               $entry_time = date("H:i:s");            // 投稿時間
+                               $update_user = '';// 更新者
+                               $update_dt = '';
+                               $start_date = '';       // 公開期間開始日
+                               $start_time = '';       // 公開期間開始時間
+                               $end_date = ''; // 公開期間終了日
+                               $end_time = ''; // 公開期間終了時間
+                               $showComment = 1;                               // コメントを表示するかどうか
+                               $receiveComment = 1;            // コメントを受け付けるかどうか
+                               $relatedContent = '';           // 関連コンテンツ
+                               
+                               // 記事カテゴリー取得
+                               $this->categoryArray = array();
+                               
+                               // 履歴番号
+                               $historyIndex = -1;
+                               
+                               // ユーザ定義フィールド
+                               $this->fieldValueArray = array();
                        }
                }
                // カテゴリーメニューを作成
@@ -797,6 +835,7 @@ class admin_blog_mainEntryWidgetContainer extends admin_blog_mainBaseWidgetConta
                        $this->tmpl->setAttribute('add_button', 'visibility', 'visible');
                        $this->tmpl->addVar('_widget', 'preview_btn_disabled', 'disabled');// プレビューボタン使用不可
                        $this->tmpl->addVar('_widget', 'history_btn_disabled', 'disabled');// 履歴ボタン使用不可
+                       $this->tmpl->addVar('cancel_button', 'new_btn_disabled', 'disabled');   // 「新規」ボタン使用不可
                        
                        // デフォルト言語を最初に登録
                        $this->tmpl->addVar("default_lang", "default_lang", $defaultLangName);
index ea242f7..9201c0c 100644 (file)
@@ -9,9 +9,9 @@
  *
  * @package    Magic3 Framework
  * @author     平田直毅(Naoki Hirata) <naoki@aplo.co.jp>
- * @copyright  Copyright 2006-2011 Magic3 Project.
+ * @copyright  Copyright 2006-2013 Magic3 Project.
  * @license    http://www.gnu.org/copyleft/gpl.html  GPL License
- * @version    SVN: $Id: index.php 5263 2012-10-03 02:45:01Z fishbone $
+ * @version    SVN: $Id$
  * @link       http://www.magic3.org
  */
 // 直接アクセスの防止
@@ -62,6 +62,8 @@ $HELP['entry_del_btn']['title'] = '削除ボタン';
 $HELP['entry_del_btn']['body'] = '選択されている記事を削除します。<br />項目を選択するには、一覧の左端のチェックボックスにチェックを入れます。';
 $HELP['entry_ret_btn']['title'] = '戻るボタン';
 $HELP['entry_ret_btn']['body'] = 'ブログ記事一覧へ戻ります。';
+$HELP['entry_preview_btn']['title'] = 'プレビューボタン';
+$HELP['entry_preview_btn']['body'] = 'コンテンツを表示した実際の画面です。';
 
 // ########## コメント ##########
 $HELP['comment_list']['title'] = 'コメント一覧';
index 66f17da..ab9749a 100644 (file)
@@ -86,6 +86,12 @@ function showSearchArea()
 {\r
        $('#search_comment').slideToggle('slow');\r
 }\r
+// プレビューを別ウィンドウで表示\r
+function previewInOtherWindow()\r
+{\r
+       m3ShowPreviewWindow(0, "{PREVIEW_URL}");\r
+       return true;\r
+}\r
 $(function(){\r
        // スクロールバー付きのテーブルを作成\r
        m3_tableWithScrollbar('entrylist', {LIST_COUNT}, 0);\r
@@ -148,7 +154,7 @@ $(function(){
 <span {_HELP_ENTRY_LIST}><label>ブログ記事一覧</label></span>&nbsp;&nbsp;\r
 <a href="javascript:void(0);" onclick="showSearchArea();"><img src="{SEARCH_IMG}" width="16" height="16" border="0" alt="{SEARCH_STR}" title="{SEARCH_STR}" /></a>\r
 </td>\r
-<td align="right"><span {_HELP_ENTRY_NEW_BTN}><input type="button" class="button" onclick="newItem();" value="新規" /></span><span {_HELP_ENTRY_EDIT_BTN}><input type="button" class="button" onclick="editItem();" value="編集" /></span><span {_HELP_ENTRY_DEL_BTN}><input type="button" class="button" onclick="delItem();" value="削除" /></span>\r
+<td align="right"><span {_HELP_ENTRY_PREVIEW_BTN}><input type="button" class="button" onclick="previewInOtherWindow();" value="プレビュー" /></span>&nbsp;&nbsp;<span {_HELP_ENTRY_NEW_BTN}><input type="button" class="button" onclick="newItem();" value="新規" /></span><span {_HELP_ENTRY_EDIT_BTN}><input type="button" class="button" onclick="editItem();" value="編集" /></span><span {_HELP_ENTRY_DEL_BTN}><input type="button" class="button" onclick="delItem();" value="削除" /></span>\r
 </td></tr>\r
 <tr><td colspan="2">\r
 <table id="entrylist" class="simple-table" width="100%">\r
index f5ae1e8..c9671b4 100644 (file)
 <patTemplate:tmpl name="_widget">\r
 <script type="text/javascript">\r
 //<![CDATA[\r
+function newItem(){\r
+       document.main.act.value = 'new';\r
+       document.main.submit();\r
+       return true;\r
+}\r
 function addItem(){\r
        if (!window.confirm('項目を新規追加しますか?')) return false;\r
        \r
@@ -90,7 +95,7 @@ $(function(){
 <table width="90%">\r
 <tr><td><span {_HELP_ENTRY_DETAIL}><label>ブログ記事詳細</label></span></td><td align="right">\r
 <span {_HELP_ENTRY_HISTORY_BTN}><input type="button" class="button" onclick="viewHistory();" value="履歴" {HISTORY_BTN_DISABLED} /></span><span {_HELP_ENTRY_PREVIEW_BTN}><input type="button" class="button" onclick="previewInOtherWindow();" value="プレビュー" {PREVIEW_BTN_DISABLED} /></span>\r
-<patTemplate:tmpl name="cancel_button" visibility="visible">&nbsp;&nbsp;<span {_HELP_ENTRY_RET_BTN}><input type="button" class="button" onclick="listItem();" value="戻る" /></span></patTemplate:tmpl>\r
+<patTemplate:tmpl name="cancel_button" visibility="visible">&nbsp;&nbsp;<span {_HELP_ENTRY_NEW_BTN}><input type="button" class="button" onclick="newItem();" value="新規" {NEW_BTN_DISABLED} /></span><span {_HELP_ENTRY_RET_BTN}><input type="button" class="button" onclick="listItem();" value="戻る" /></span></patTemplate:tmpl>\r
 </td></tr>\r
 <tr><td colspan="2">\r
 <table class="simple-table">\r