• R/O
  • HTTP
  • SSH
  • HTTPS

magic3: コミット

Cloud computing platform


コミットメタ情報

リビジョンd30367e5f6853572cf39904ecec9041fdbbcdb68 (tree)
日時2017-09-14 09:53:55
作者naoki hirata <naoki@magi...>
コミッターnaoki hirata

ログメッセージ

WordPressテンプレート機能更新。

変更サマリ

差分

--- a/include/addons/eclib/ecLib.php
+++ b/include/addons/eclib/ecLib.php
@@ -266,7 +266,7 @@ class ecLib
266266 {
267267 // $itemCount = $this->getConfig(self::CF_ENTRY_VIEW_COUNT);
268268 $itemCount = 10;
269- $showThumb = 0;
269+ $showThumb = 1;
270270 return array($itemCount, 1, $showThumb);
271271 }
272272 /**
--- a/include/wp/contentApi.php
+++ b/include/wp/contentApi.php
@@ -680,28 +680,39 @@ class ContentApi extends BaseApi
680680 /**
681681 * デフォルトのサムネール画像の情報を取得
682682 *
683- * @return array 画像パス,画像URL,画像幅,画像高さの配列
683+ * @param string $contentType コンテンツタイプ。空の場合はデフォルトのコンテンツタイプを使用。
684+ * @return array 画像パス,画像URL,画像幅,画像高さの配列
684685 */
685- function getDefaultThumbInfo()
686+ function getDefaultThumbInfo($contentType = '')
686687 {
687688 static $thumbInfoArray;
688689
689- if (!isset($thumbInfoArray)){
690- // アイキャッチ画像の情報を取得
690+ if (empty($contentType)) $contentType = $this->contentType;
691+
692+ $thumbInfo = $thumbInfoArray[$contentType];
693+ if (!isset($thumbInfo)){
694+ // コンテンツタイプ指定でアイキャッチ画像の情報を取得
691695 $formats = $this->gInstance->getImageManager()->getSystemThumbFormat(10/*アイキャッチ画像*/);
692696 $ret = $this->gInstance->getImageManager()->parseImageFormat($formats[0], $imageType, $imageAttr, $imageSize);
693697
694698 $filename = $this->gInstance->getImageManager()->getThumbFilename(0, $formats[0]); // デフォルト画像ファイル名
695- $thumbPath = $this->gInstance->getImageManager()->getSystemThumbPath($this->contentType, 0/*PC用*/, $filename);
699+ $thumbPath = $this->gInstance->getImageManager()->getSystemThumbPath($contentType, 0/*PC用*/, $filename);
696700 if (file_exists($thumbPath)){
697- $thumbUrl = $this->gInstance->getImageManager()->getSystemThumbUrl($this->contentType, 0/*PC用*/, $filename);
698- $thumbInfoArray = array($thumbPath, $thumbUrl, $imageSize, $imageSize);
701+ $thumbUrl = $this->gInstance->getImageManager()->getSystemThumbUrl($contentType, 0/*PC用*/, $filename);
702+ $thumbInfo = array($thumbPath, $thumbUrl, $imageSize, $imageSize);
703+
704+ // 取得したサムネール画像情報データを保存
705+ $thumbInfoArray[$contentType] = $thumbInfo;
699706 } else {
700- $msgDetail = '画像パス:' . $thumbPath;
701- $this->gOpeLog->writeError(__METHOD__, 'アイキャッチ用のデフォルト画像が見つかりません。(コンテンツタイプ=' . $this->contentType . ')', 2200, $msgDetail);
707+ // コンテンツタイプ指定でサムネール画像が取得できない場合は汎用コンテンツのサムネール画像を取得
708+ $thumbInfo = $this->getDefaultThumbInfo(M3_VIEW_TYPE_CONTENT);
709+ if (!isset($thumbInfo)){
710+ $msgDetail = '画像パス:' . $thumbPath;
711+ $this->gOpeLog->writeError(__METHOD__, 'アイキャッチ用のデフォルト画像が見つかりません。(コンテンツタイプ=' . M3_VIEW_TYPE_CONTENT . ')', 2200, $msgDetail);
712+ }
702713 }
703714 }
704- return $thumbInfoArray;
715+ return $thumbInfo;
705716 }
706717 /**
707718 * コンテンツ詳細画面のURLを取得
--- a/include/wp/wp-includes/class-wp-query.php
+++ b/include/wp/wp-includes/class-wp-query.php
@@ -1905,7 +1905,8 @@ class WP_Query {
19051905 $this->post = reset( $this->posts );
19061906
19071907 // the_post()の前にget_post()が呼ばれることがあるのでグローバル変数に保存
1908-// $GLOBALS['post'] = $this->post; // ########## 注意 ##### the_post()の実行前に初期値を設定しておくのがよいか実験中 ##### 注意 ##########
1908+ $GLOBALS['post'] = $this->post; // ########## 注意 ##### the_post()の実行前に初期値を設定しておくのがよいか実験中 ##### 注意 ##########
1909+// $GLOBALS['post_sub'] = $this->post; // ########## サブループ用グローバルWP_Post型データ(Magic3で追加) ##########
19091910 } else {
19101911 $this->post_count = 0;
19111912 $this->posts = array();
@@ -2003,7 +2004,7 @@ class WP_Query {
20032004 *
20042005 * @global WP_Post $post
20052006 */
2006- /***** テンプレートのからループで毎回実行され、グローバルの$postが行進される *****/
2007+ /***** テンプレートのからループで毎回実行され、グローバルの$postが更新される *****/
20072008 public function the_post() {
20082009 global $post;
20092010 $this->in_the_loop = true;
--- a/include/wp/wp-includes/media.php
+++ b/include/wp/wp-includes/media.php
@@ -185,10 +185,11 @@ function image_hwstring( $width, $height ) {
185185 function image_downsize( $id, $size = 'medium' ) {
186186 global $gEnvManager;
187187 global $gContentApi;
188-
189- // サムネール表示しない場合は終了
190- if (!$gContentApi->getShowThumb()) return false;
191-
188+
189+ // 現在のページのコンテンツタイプのサムネール出力設定を参照して、サムネール表示しない場合は終了
190+ $contentType = $gContentApi->getContentType();
191+ if (!empty($contentType) && !$gContentApi->getShowThumb()) return false;
192+
192193 // $is_image = wp_attachment_is_image( $id ); // 常に$is_imageにtrueが返る
193194
194195 /**
@@ -218,7 +219,11 @@ function image_downsize( $id, $size = 'medium' ) {
218219 $height = 0;
219220 if (empty($post->thumb_src)){ // サムネール画像が設定されていないとき
220221 // 各コンテンツごとのデフォルトのサムネール画像を取得
221- $retVals = $gContentApi->getDefaultThumbInfo();
222+ if ($post->post_type == 'product'){ // 製品情報の場合
223+ $retVals = $gContentApi->getDefaultThumbInfo($post->post_type);
224+ } else {
225+ $retVals = $gContentApi->getDefaultThumbInfo();
226+ }
222227 if (is_array($retVals)) list($imgPath, $imgUrl, $width, $height) = $retVals;
223228 } else {
224229 $imagePath = $gEnvManager->getResourcePath() . $post->thumb_src; // 画像パス
旧リポジトリブラウザで表示