OSDN Git Service

テンプレートカスタマイズ機能更新。
authornaoki hirata <naoki@magic3.org>
Fri, 13 Jul 2018 03:19:55 +0000 (12:19 +0900)
committernaoki hirata <naoki@magic3.org>
Fri, 13 Jul 2018 03:19:55 +0000 (12:19 +0900)
include/container/baseFrameContainer.php
templates/bootstrap4_custom/index.php

index 2877eba..22c37d8 100644 (file)
@@ -8,7 +8,7 @@
  *
  * @package    Magic3 Framework
  * @author     平田直毅(Naoki Hirata) <naoki@aplo.co.jp>
- * @copyright  Copyright 2006-2017 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
@@ -20,6 +20,7 @@ class BaseFrameContainer extends Core
 {
        protected $_db; // DB接続オブジェクト
        private $joomlaBufArray = array();                      // Joomla!データ受け渡し用
+       private $templateCustomObj;                             // テンプレートカスタマイズパラメータオブジェクト
        const SYSTEM_TEMPLATE = '_system';              // システム画面用テンプレート
        const M_ADMIN_TEMPLATE = 'm/_admin';    // 携帯用管理画面テンプレート
        const ERR_MESSAGE_ACCESS_DENY = 'Access denied.';               // ウィジェットアクセスエラーのメッセージ
@@ -1442,6 +1443,28 @@ class BaseFrameContainer extends Core
                }
        }
        /***********************************************************************************
+        * 以下、テンプレート専用
+        ***********************************************************************************/
+       /**
+        * [カスタムテンプレート用] テンプレートのヘッダ部に出力するCSSのデータを取得
+        *
+        * @return string                               CSS出力データ(HTMLタグ形式、または「/」から始まるCSSファイルの相対パス)。設定なしの場合は空文字列。
+        */
+       function getCustomTemplateHeadCssData()
+       {
+               global $gEnvManager;
+               
+               if (!isset($this->templateCustomObj)){
+                       $optionParams = $gEnvManager->getCurrentTemplateCustomParam();
+                       if (empty($optionParams)){
+                               $this->templateCustomObj = array();
+                       } else {
+                               $this->templateCustomObj = unserialize($optionParams);          // 連想配列に変換
+                       }
+               }
+               return $this->templateCustomObj['head_css_data'];
+       }
+       /***********************************************************************************
         * 以下、Joomla!v1.5テンプレート専用
         ***********************************************************************************/
        /**
index ba4f9b2..ab23607 100644 (file)
@@ -7,12 +7,23 @@ $document = $this;
 // Shortcut for template base url:
 $templateUrl = $document->baseurl . '/templates/' . $document->template;
 
+// \83e\83\93\83v\83\8c\81[\83g\83J\83X\83^\83}\83C\83Y\83p\83\89\83\81\81[\83^\82ª\82 \82é\8fê\8d\87\82Í\8eæ\93¾
+$customCssData = $document->getCustomTemplateHeadCssData();
+if (empty($customCssData)){
+       $cssTag = '<link rel="stylesheet" href="' . $templateUrl . '/css/bootstrap.min.css" media="screen">';
+} else {
+       if (strStartsWith($customCssData, '/')){                // \91\8a\91Î\83p\83X\82Ì\8fê\8d\87
+               $cssTag = '<link rel="stylesheet" href="' . $templateUrl . $customCssData . '" media="screen">';
+       } else {
+               $cssTag = $customCssData;
+       }
+}
 ?>
 <!DOCTYPE html>
 <html dir="ltr" lang="<?php echo $document->language; ?>">
 <head>
     <jdoc:include type="head" />
-       <link rel="stylesheet" href="<?php echo $templateUrl; ?>/css/bootstrap.min.css" media="screen">
+       <?php echo $cssTag; ?>
        <link rel="stylesheet" href="<?php echo $templateUrl; ?>/css/fontawesome-all.min.css" media="screen">
        <link rel="stylesheet" href="<?php echo $templateUrl; ?>/css/style.css" media="screen">
        <?php global $gPageManager;if ($gPageManager->isLayout()): ?>