Просмотр исходного кода

Ticket #3399 - Menus and Generic logo.

AntonLV 5 лет назад
Родитель
Сommit
e8143079b8

+ 1 - 1
modules/boonex/artificer/data/template/system/css/forms.css

@@ -1,4 +1,4 @@
-bx-form-element/*--
+/*--
 import url(../../../../../../../template/css/forms.css);
 --*/
 

+ 8 - 0
modules/boonex/artificer/data/template/system/css/media-phone.css

@@ -0,0 +1,8 @@
+@import url(../../../../../../../template/css/media-phone.css);
+
+
+/* --- General ---*/
+.bx-media-phone #bx-toolbar-content .bx-toolbar-item.bx-ti-logo {
+    margin-left: 0;
+    margin-right: 0;
+}

+ 6 - 0
modules/boonex/artificer/data/template/system/css/menu.css

@@ -44,6 +44,12 @@ li.bx-menu-inter-hidden {
     padding: 0;
 }
 
+.bx-menu-toolbar .bx-menu-toolbar-item .bx-menu-item-addon {
+    position: absolute;
+    top: -0.375rem;
+    right: -0.375rem;
+}
+
 /*--- Account Popup ---*/
 @media (min-width:720px) {
     #bx-sliding-menu-account.bx-sliding-menu-main {

Разница между файлами не показана из-за своего большого размера
+ 4 - 0
modules/boonex/artificer/data/template/system/images/logo-generic.svg


+ 19 - 0
modules/boonex/artificer/data/template/system/images/mark-generic.svg

@@ -0,0 +1,19 @@
+<svg width="1024" height="1024" viewBox="0 0 1024 1024" fill="none" xmlns="http://www.w3.org/2000/svg">
+<rect x="272" y="750" width="480" height="480" rx="240" transform="rotate(-90 272 750)" fill="url(#paint0_radial)"/>
+<path d="M779.401 690.055C763.149 680.672 742.59 685.529 730.231 699.651C709.823 722.97 685.301 743.388 656.977 759.748C534.977 830.214 383.064 801.903 293.774 699.618C281.426 685.474 260.849 680.595 244.589 689.983L141.228 749.658C123.426 759.936 117.748 783.124 130.179 799.494C274.252 989.211 540.303 1046.58 751.961 924.333C808.828 891.487 856.433 848.757 893.861 799.564C906.308 783.204 900.614 760.038 882.811 749.759L779.401 690.055Z" fill="url(#paint1_radial)"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M955.292 692.569C947.404 711.623 924.423 718.359 906.564 708.048L803.11 648.319C786.927 638.976 780.824 618.86 786.781 601.149C812.4 524.975 806.432 438.579 763.106 363.505C719.695 288.284 647.692 239.873 568.76 224.078C566.956 223.717 565.189 223.243 563.471 222.664C529.689 216.564 494.736 216.413 460.291 222.662C458.63 223.213 456.925 223.665 455.185 224.013C424.963 230.056 395.196 241.061 367.024 257.333C245.351 327.609 193.853 472.785 237.124 601.034C243.106 618.763 237.021 638.926 220.817 648.282L117.39 707.995C99.5511 718.294 76.5822 711.566 68.6672 692.548C2.33824 533.176 28.224 353.227 128.319 219.925C129.03 218.734 129.819 217.568 130.687 216.431C168.04 167.543 215.472 125.071 272.08 92.3884C483.604 -29.735 749.443 27.4341 893.619 216.742C894.709 218.173 895.673 219.651 896.514 221.166C907.665 236.137 918.063 251.917 927.623 268.482C1005.23 402.963 1010.42 559.392 955.292 692.569Z" fill="url(#paint2_radial)"/>
+<defs>
+<radialGradient id="paint0_radial" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(752.223 990.248) rotate(-180) scale(480 732.283)">
+<stop stop-color="#FB923C"/>
+<stop offset="1" stop-color="#EA580C"/>
+</radialGradient>
+<radialGradient id="paint1_radial" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(512.001 515) rotate(90) scale(474)">
+<stop stop-color="#F87171"/>
+<stop offset="1" stop-color="#EF4444"/>
+</radialGradient>
+<radialGradient id="paint2_radial" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(512 -19.999) rotate(90) scale(544 2114.78)">
+<stop stop-color="#38BDF8"/>
+<stop offset="1" stop-color="#0284C7"/>
+</radialGradient>
+</defs>
+</svg>

+ 5 - 0
modules/boonex/artificer/data/template/system/logo_main.html

@@ -0,0 +1,5 @@
+<a __attrs__>
+    <bx_if:show_title><span>__logo__</span></bx_if:show_title>
+    <bx_if:show_image><img class="__class__" style="__style__" src="__src__" id="bx-logo" alt="__alt__" /></bx_if:show_image>
+    <bx_if:show_image_mini><img class="__class__" style="__style__" src="__src__" id="bx-logo" alt="__alt__" /></bx_if:show_image_mini>
+</a>

+ 1 - 1
modules/boonex/artificer/data/template/system/menu_item_addon.html

@@ -1 +1 @@
-<span class="bx-menu-item-addon bx-def-unit-alert w-4 h-4 -top-1.5 -right-1.5 leading-4 p-0.5 bg-red-600 box-content">__content__</span>
+<span class="bx-menu-item-addon bx-def-unit-alert block px-1.5 py-0 rounded-full ring-1 ring-white dark:ring-gray-800 bg-red-400 text-xs text-white">__content__</span>

+ 1 - 1
modules/boonex/artificer/data/template/system/menu_item_addon_middle.html

@@ -1 +1 @@
-<span class="bx-menu-item-addon bx-def-unit-alert-middle w-3 h-3 leading-3 p-1 bg-red-600 box-content">__content__</span>
+<span class="bx-menu-item-addon bx-def-unit-alert-middle block px-1.5 py-0 rounded-full ring-1 ring-white dark:ring-gray-800 bg-red-400 text-xs text-white">__content__</span>

+ 1 - 1
modules/boonex/artificer/data/template/system/menu_item_addon_small.html

@@ -1 +1 @@
-<span class="bx-menu-item-addon bx-def-unit-alert-small w-3 h-3 leading-3 p-1 bg-red-600 box-content">__content__</span>
+<span class="bx-menu-item-addon bx-def-unit-alert-small block px-1.5 py-0 rounded-full ring-1 ring-white dark:ring-gray-800 bg-red-400 text-xs text-white">__content__</span>

+ 2 - 2
modules/boonex/artificer/data/template/system/menu_toolbar.html

@@ -1,7 +1,7 @@
 <ul class="bx-menu-toolbar bx-menu-object-__object__ flex items-center pr-2 sm:pr-0">
     <bx_repeat:menu_items>
-        <li id="bx-menu-toolbar-item-__name__" class="bx-menu-toolbar-item bx-menu-item-__name__ group relative flex items-center justify-center w-8 h-8 mx-1 bg-gray-100 hover:bg-gray-200 dark:bg-gray-700 dark:hover:bg-gray-600 rounded-full text-gray-400 hover:text-gray-600 dark:hover:text-gray-100 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-800 focus:ring-white __class_add__">
-            <a href="__link__" onclick="__onclick__" class=""__attrs__><bx_if:icon><span class="relative block h-6 w-6 text-center"><i class="sys-icon __icon__"></i></bx_if:icon><bx_if:icon-a><i class="sys-icon-a" data-rotate="down" data-icon="__icon-a__" data-color="#fff"></i></bx_if:icon-a><bx_if:image><img class="" src="__icon_url__" /></bx_if:image><bx_if:unit><div class="bx-menu-toolbar-item-unit">__unit__</div></bx_if:unit><bx_if:addon>__addonf__</bx_if:addon><bx_if:title><span class="bx-menu-toolbar-item-title sr-only">__title__</span></bx_if:title></a>
+        <li id="bx-menu-toolbar-item-__name__" class="bx-menu-toolbar-item bx-menu-item-__name__ group relative inline-flex items-center ml-3 first:ml-0 p-1.5 text-gray-500 dark:text-gray-300 hover:text-gray-800 dark:hover:text-gray-100 border border-transparent rounded-full  bg-gray-100 dark:bg-gray-700 hover:bg-gray-200 dark:hover:bg-gray-600 __class_add__">
+            <a href="__link__" onclick="__onclick__" class=""__attrs__><bx_if:icon><span class="relative block h-5 w-5 flex items-center justify-center"><i class="sys-icon __icon__"></i></bx_if:icon><bx_if:icon-a><i class="sys-icon-a" data-rotate="down" data-icon="__icon-a__" data-color="#fff"></i></bx_if:icon-a><bx_if:image><img class="" src="__icon_url__" /></bx_if:image><bx_if:unit><div class="bx-menu-toolbar-item-unit">__unit__</div></bx_if:unit><bx_if:addon>__addonf__</bx_if:addon><bx_if:title><span class="bx-menu-toolbar-item-title sr-only">__title__</span></bx_if:title></a>
         </li>
     </bx_repeat:menu_items>
 </ul>

+ 68 - 7
modules/boonex/artificer/data/template/system/scripts/BxTemplFunctions.php

@@ -13,17 +13,78 @@ class BxTemplFunctions extends BxBaseFunctions
     {
         parent::__construct($oTemplate);
     }
-    
-    public function getMainLogo($aParams = array())
+
+    function getMainLogo($aParams = array())
     {
-        if(!isset($aParams['attrs']))
-            $aParams['attrs'] = array();
+        $oDesigns = BxDolDesigns::getInstance();
+
+        $sTitle = getParam('site_title');
+        $bTitle = !empty($sTitle);
+
+        $sAlt = $oDesigns->getSiteLogoAlt();
+        if(empty($sAlt) && $bTitle)
+            $sAlt = $sTitle;
+        $sAltAttr = bx_html_attribute($sAlt, BX_ESCAPE_STR_QUOTE);
+
+        $bTmplVarsShowTitle = $bTitle;
+        $aTmplVarsShowImage = [];
+        $aTmplVarsShowImageMini = [];
+
+        $bDefault = false;
+        if(($sFileUrl = $this->getMainLogoUrl()) !== false || ($bDefault = (!$bTitle && ($sFileUrl = $this->_oTemplate->getImageUrl('logo-generic.svg')) != ''))) {
+            $iLogoWidth = (int)$oDesigns->getSiteLogoWidth();
+            $sMaxWidth = $iLogoWidth > 0 ? 'max-width:' . round($iLogoWidth/16, 3) . 'rem;' : '';
+
+            $iLogoHeight = (int)$oDesigns->getSiteLogoHeight();
+            $sMaxHeight = $iLogoHeight > 0 ? 'max-height:' . round($iLogoHeight/16, 3) . 'rem;' : '';
 
-        $aParams['attrs']['class'] = '';
+            $bTmplVarsShowTitle = false;
+            $aTmplVarsShowImage = [
+                'class' => '',
+                'style' => $sMaxWidth . $sMaxHeight,
+                'src' => $sFileUrl,
+                'alt' => $sAltAttr
+            ];
 
-        return parent::getMainLogo($aParams);
+            if($bDefault) {
+                $aTmplVarsShowImage['class'] = 'hidden lg:block';
+
+                if(($sFileUrl = $this->_oTemplate->getImageUrl('mark-generic.svg')) != '')
+                    $aTmplVarsShowImageMini = [
+                        'class' => 'block lg:hidden',
+                        'style' => $sMaxWidth . $sMaxHeight,
+                        'src' => $sFileUrl,
+                        'alt' => $sAltAttr
+                    ];
+            }
+        }
+
+        $aAttrs = [
+            'href' => BX_DOL_URL_ROOT, 
+            'title' => $sAltAttr
+        ];
+        if(!empty($aParams['attrs']) && is_array($aParams['attrs']))
+            $aAttrs = array_merge($aAttrs, $aParams['attrs']);
+
+        return $this->_oTemplate->parseHtmlByName('logo_main.html', [
+            'attrs' => bx_convert_array2attrs($aAttrs),
+            'bx_if:show_title' => [
+                'condition' => $bTmplVarsShowTitle,
+                'content' => [
+                    'logo' => $sTitle,
+                ]
+            ],
+            'bx_if:show_image' => [
+                'condition' => !empty($aTmplVarsShowImage),
+                'content' => $aTmplVarsShowImage
+            ],
+            'bx_if:show_image_mini' => [
+                'condition' => !empty($aTmplVarsShowImageMini),
+                'content' => $aTmplVarsShowImageMini
+            ]
+        ]);
     }
-    
+
     public function TemplPageAddComponent($sKey)
     {
         switch( $sKey ) {

+ 1 - 0
studio/design.php

@@ -10,6 +10,7 @@
 
 require_once('./../inc/header.inc.php');
 require_once(BX_DIRECTORY_PATH_INC . 'design.inc.php');
+require_once(BX_DOL_DIR_STUDIO_INC . 'utils.inc.php');
 
 bx_import('BxDolLanguages');
 

Некоторые файлы не были показаны из-за большого количества измененных файлов