From d16b5a68b89fe0f48eeb051881b9f11ad0e2a14b Mon Sep 17 00:00:00 2001 From: Robert Lange <robert.lange@uni-leipzig.de> Date: Thu, 16 May 2019 14:44:27 +0200 Subject: [PATCH] refs #15191 first scaffold of basic design for bbi * overwrite basic color variables * set header logo * fix css-linter warnings * initial SCSS fixes (fine tuning) * adds clarifying name * properly centers searchbox on home * branches and cleans up searchbox template * renames Start into home * removes language dropdown in favour of display of non-selected language only * adds svg icons for language selection * adds initial adaptations for responsive design (header) * performs general cleanup of SCSS --- fid_bbi/languages/de.ini | 4 +- fid_bbi/languages/en.ini | 2 + themes/fid_bbi/images/de.svg | 5 + themes/fid_bbi/images/en.svg | 15 ++ themes/fid_bbi/images/headerlogo.png | Bin 0 -> 45489 bytes themes/fid_bbi/scss/_customVariables.scss | 13 ++ themes/fid_bbi/scss/compiled.scss | 167 +++++++++++++++--- themes/fid_bbi/templates/footer.phtml | 48 +++-- themes/fid_bbi/templates/header.phtml | 75 ++++---- themes/fid_bbi/templates/search/home.phtml | 16 +- .../fid_bbi/templates/search/searchbox.phtml | 119 ++++++------- 11 files changed, 305 insertions(+), 159 deletions(-) create mode 100644 themes/fid_bbi/images/de.svg create mode 100644 themes/fid_bbi/images/en.svg create mode 100644 themes/fid_bbi/images/headerlogo.png diff --git a/fid_bbi/languages/de.ini b/fid_bbi/languages/de.ini index 9c155d9a425..2b5328d2a40 100644 --- a/fid_bbi/languages/de.ini +++ b/fid_bbi/languages/de.ini @@ -347,7 +347,7 @@ Holdings details from = "Bestandsangaben von" Holdnep-Submit = "Benutzergesteuerte Erwerbung" Holds = Bestellungen Holds and Recalls = "Bestellungen & Vormerkungen" -Home = "Start" +Home = "Home" Identity Number = Personalausweisnummer Illustrated = Abbildungen Import Record = "Daten exportieren" @@ -379,6 +379,8 @@ Legal Documents = "Gesetzestexte" Legal Info = Impressum Less = "Weniger" Library = Bibliothek +LibraryName = Fachinformationsdienst Buch-, Bibliotheks- und Informationswissenschaft (FID BBI) +LibraryNameShort = Fachinformationsdienst Buch-, Bibliotheks- und Informationswissenschaft Library Regulations = Benutzungsordnung Limit To = "Begrenze auf" Link to = "Zur Webseite" diff --git a/fid_bbi/languages/en.ini b/fid_bbi/languages/en.ini index f333db44618..4fd98858584 100644 --- a/fid_bbi/languages/en.ini +++ b/fid_bbi/languages/en.ini @@ -137,6 +137,8 @@ Kollektion = Collection Kontakt = Contact Language = Language Library = Library +LibraryName = Fachinformationsdienst Buch-, Bibliotheks- und Informationswissenschaft (FID BBI) +LibraryNameShort = Fachinformationsdienst Buch-, Bibliotheks- und Informationswissenschaft Library Catalog Username = "Library Catalog User Name" Limit To = "Limit to" Link to = "To Website" diff --git a/themes/fid_bbi/images/de.svg b/themes/fid_bbi/images/de.svg new file mode 100644 index 00000000000..49144dd2ab2 --- /dev/null +++ b/themes/fid_bbi/images/de.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="de.svg" viewBox="0 0 640 480"> + <path fill="#ffce00" d="M0 320h640v160H0z"/> + <path d="M0 0h640v160H0z"/> + <path fill="#d00" d="M0 160h640v160H0z"/> +</svg> diff --git a/themes/fid_bbi/images/en.svg b/themes/fid_bbi/images/en.svg new file mode 100644 index 00000000000..655e82c6ba9 --- /dev/null +++ b/themes/fid_bbi/images/en.svg @@ -0,0 +1,15 @@ +<svg xmlns="http://www.w3.org/2000/svg" id="en.svg" viewBox="0 0 640 480"> + <defs> + <clipPath id="a"> + <path fill-opacity=".7" d="M-85.3 0h682.6v512H-85.3z"/> + </clipPath> + </defs> + <g clip-path="url(#a)" transform="translate(80) scale(.94)"> + <g stroke-width="1pt"> + <path fill="#012169" d="M-256 0H768v512H-256z"/> + <path fill="#fff" d="M-256 0v57.2L653.5 512H768v-57.2L-141.5 0H-256zM768 0v57.2L-141.5 512H-256v-57.2L653.5 0H768z"/> + <path fill="#fff" d="M170.7 0v512h170.6V0H170.7zM-256 170.7v170.6H768V170.7H-256z"/> + <path fill="#c8102e" d="M-256 204.8v102.4H768V204.8H-256zM204.8 0v512h102.4V0H204.8zM-256 512L85.3 341.3h76.4L-179.7 512H-256zm0-512L85.3 170.7H9L-256 38.2V0zm606.4 170.7L691.7 0H768L426.7 170.7h-76.3zM768 512L426.7 341.3H503l265 132.5V512z"/> + </g> + </g> +</svg> \ No newline at end of file diff --git a/themes/fid_bbi/images/headerlogo.png b/themes/fid_bbi/images/headerlogo.png new file mode 100644 index 0000000000000000000000000000000000000000..2fc9d8e16b394318740772458240061a73ddd2f8 GIT binary patch literal 45489 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%0DQ?p^*vvc3K*GRaZ0v-38uAm5Zv6xZCj42A*E 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 literal 0 HcmV?d00001 diff --git a/themes/fid_bbi/scss/_customVariables.scss b/themes/fid_bbi/scss/_customVariables.scss index e69de29bb2d..6ba0df356d3 100644 --- a/themes/fid_bbi/scss/_customVariables.scss +++ b/themes/fid_bbi/scss/_customVariables.scss @@ -0,0 +1,13 @@ +// COLORS +$brand-primary: #035151 !default; +$brand-primary-light: #b3caca !default; +$brand-secondary: #8a151a !default; +$brand-danger: #f04124 !default; +$brand-info: #008cba !default; +$brand-success: #43ac6a !default; +$brand-warning: #f08a24 !default; + +$alert-warning-bg: #d3d3d3 !default; + +$component-active-bg: $brand-primary-light !default; +$snow: $brand-primary-light !default; diff --git a/themes/fid_bbi/scss/compiled.scss b/themes/fid_bbi/scss/compiled.scss index b9e55596f51..f2e90def154 100644 --- a/themes/fid_bbi/scss/compiled.scss +++ b/themes/fid_bbi/scss/compiled.scss @@ -2,53 +2,168 @@ @import 'customMixins'; @import '../../finc/scss/compiled'; +// General +body { + hyphens: auto; +} + // Header .navbar { + background-color: $brand-secondary; min-height: 95px; -} -.searchHomeContent { - min-height: 15em; - display: flex; - align-items: center; - justify-content: center; + // Header logo and text + h1 { + img { + margin-top: 12px; + } + + span { + color: $white; + + @media only screen and (max-width: $screen-xs-max) { + font-size: 12px; + left: 0; + line-height: 1.2; + margin-right: 40px; + position: absolute; + } + + @media only screen and (min-width: $screen-sm-min) { + font-size: 16px; + } + + @media only screen and (min-width: $screen-sm-min) and (max-width: $screen-sm-max) { + margin: 0; + max-width: 400px; + padding-top: 7px; + } + } + } } #header-collapse { flex: 1 1; } +// set font color in header to white for better visibility +.nav { + a { + &.btn, + &.search-filter-toggle { + color: $white; + + &:hover, + &:focus { + background-color: $brand-primary; + color: $snow; + } + } + + &.de::after, + &.en::after { + background-position: 50% 30%; + background-repeat: no-repeat; + background-size: contain; + content: '\00a0'; + display: inline-block; + margin-left: 7px; + position: relative; + width: (4 / 3) * 1em; + } + + &.en::after { + background-image: url('../images/en.svg'); + } + + &.de::after { + background-image: url('../images/de.svg'); + } + } +} + +// Breadcrumbs .breadcrumb { - padding-top: 20px; + padding-top: 23px; + + > li + li::before { + color: $white; + content: ''; + padding: 0 5px; + } + + a { + color: $brand-primary-light; + + &:active { + color: $white; + } + + &:hover { + color: $brand-primary-light; + text-decoration: underline; + } + } +} + +// Search Box on home page +.searchHomeContent { + align-items: center; + display: flex; + justify-content: center; + min-height: 15em; +} + +.searchbox-home { + // truly justify content + .searchForm { + display: flex; + justify-content: center; + } } -.breadcrumb > li + li::before { - content: ""; - padding: 0 5px; - color: #fff; +// Search Box on all other pages +.searchbox { + .searchForm { + display: inline-flex; + position: absolute; + right: 10px; + top: 45px; + + input { + min-width: 250px; + } + } } +// Content .searchtools { display: block; - margin: 0 0 1em 0; + margin: 0 0 1em; } -.search-home { - display: block; - margin-left: auto; - margin-right: auto; - width: 50%; - //padding-top: 7em; +.result:nth-of-type(2n) { + background-color: $brand-primary-light; } -.searchbox-home { - position: absolute; - padding-left: 12em; - //padding-top: 2em; + +// Footer +footer { + background: $brand-primary; + color: $white; + + a { + color: $white; + + &:hover, + &:focus { + color: $brand-primary-light; + } + } } -.searchbox { - position: absolute; - padding-left: 50em; - padding-top: 3em; +.powered-by a { + background-color: $snow; + padding: 5px; } + diff --git a/themes/fid_bbi/templates/footer.phtml b/themes/fid_bbi/templates/footer.phtml index b0a588b181a..a5ec72e2cc1 100644 --- a/themes/fid_bbi/templates/footer.phtml +++ b/themes/fid_bbi/templates/footer.phtml @@ -4,39 +4,37 @@ <div class="footer-column"> <p><strong><?=$this->transEsc('Search Options')?></strong></p> <ul> - <li><a href="<?=$this->url('search-advanced')?>"><?=$this->transEsc('Advanced Search')?></a></li> - <li><a href="<?=$this->url('search-sources')?>"><?=$this->transEsc('Datensammlung')?></a></li> + <li><a href="<?=$this->url('search-advanced')?>"><?=$this->transEsc('Advanced Search')?></a></li> + <li><a href="<?=$this->url('search-sources')?>"><?=$this->transEsc('Datensammlung')?></a></li> </ul> </div> <div class="footer-column"> <p><strong><?=$this->transEsc('More Information')?></strong></p> - <ul> - <li><a href="<?=$this->url('content-page', ['page' => 'about'])?>"><?=$this->transEsc('About Us')?></a></li> - <li><a href="<?=$this->url('content-page', ['page' => 'faq'])?>"><?=$this->transEsc('FAQs')?></a></li> - <li><a href="<?=$this->url('content-page', ['page' => 'terms'])?>"><?=$this->transEsc('Terms of Use')?></a></li> - <li><a href="<?=$this->url('content-page', ['page' => 'privacy'])?>"><?=$this->transEsc('Privacy Policy')?></a></li> + <ul> + <li><a href="<?=$this->url('content-page', ['page' => 'about'])?>"><?=$this->transEsc('About Us')?></a></li> + <li><a href="<?=$this->url('content-page', ['page' => 'faq'])?>"><?=$this->transEsc('FAQs')?></a></li> + <li><a href="<?=$this->url('content-page', ['page' => 'terms'])?>"><?=$this->transEsc('Terms of Use')?></a></li> + <li><a href="<?=$this->url('content-page', ['page' => 'privacy'])?>"><?=$this->transEsc('Privacy Policy')?></a></li> </ul> </div> - <div class="footer-column"> - <p><strong><?=$this->transEsc('Contact')?></strong></p> - <ul> - <p>N.N.<br/> - <?=$this->transEsc('Project Coordination')?><br/> - <?=$this->transEsc('Phone Number')?>: N.N.<br/> - <?=$this->transEsc('Email')?>: <a href="mailto:fid@hab.de">fid@hab.de</a></p> - </ul> - </div> + <div class="footer-column"> + <p><strong><?=$this->transEsc('Contact')?></strong></p> + <p>N.N.<br/> + <?=$this->transEsc('Project Coordination')?><br/> + <?=$this->transEsc('Phone Number')?>: N.N.<br/> + <?=$this->transEsc('Email')?>: <a href="mailto:fid@hab.de">fid@hab.de</a></p> + </div> </div> - <? /* finc branding footer */ ?> - <hr> - <div class="footer-container powered-by"> - <div class="footer-column"> - <?=$this->layout()->poweredBy?> - <span>Powered by</span> - <a href="https://vufind.org/" title="vufind.org" target="_blank"><img src="<?=$this->imageLink('vufind_logo.png')?>" alt="powered by VuFind - VuFind Logo"/></a> - <a href="http://blog.finc.info" title="Blog FinC-Team" target="_blank"><img src="<?=$this->imageLink('finc_logo.png')?>" alt="powered by finc - finc Logo"/></a> - </div> + <?php /* finc branding footer */ ?> + <hr> + <div class="footer-container powered-by"> + <div class="footer-column"> + <?=$this->layout()->poweredBy?> + <span>Powered by</span> + <a href="https://vufind.org/" title="vufind.org" target="_blank"><img src="<?=$this->imageLink('vufind_logo.png')?>" alt="powered by VuFind - VuFind Logo"/></a> + <a href="http://blog.finc.info" title="Blog FinC-Team" target="_blank"><img src="<?=$this->imageLink('finc_logo.png')?>" alt="powered by finc - finc Logo"/></a> </div> + </div> </footer> <!-- finc: Footer - END --> diff --git a/themes/fid_bbi/templates/header.phtml b/themes/fid_bbi/templates/header.phtml index d864ea08e76..40757e37ef5 100644 --- a/themes/fid_bbi/templates/header.phtml +++ b/themes/fid_bbi/templates/header.phtml @@ -1,15 +1,15 @@ -<!-- finc: header --> -<? $account = $this->auth()->getManager(); ?> -<? /* This navbar is the sticky element in the header - CK; you can use 'affix' as an alternative to 'navbar-fixed-top' like so: +<!-- fid_bbi: header --> +<?php $account = $this->auth()->getManager(); ?> +<?php /* This navbar is the sticky element in the header - CK; you can use 'affix' as an alternative to 'navbar-fixed-top' like so: <div data-spy="affix" data-offset-top="1" class="navbar"> Do not use 'navbar-fixed-top' and 'affix' at the same time. When using 'affix', set the variables for '$navbar-height', '$navbar-height-xs' and '$navbar-height-sm' in _customVariables.scss to '=0' or set the paddings-top under 'body' in compiled.scss to '=0' */ ?> <div class="banner container navbar navbar-fixed-top"> - <? /* This element only holds the mobile toggler and the navbar-brand/library name - CK */ ?> + <?php /* This element only holds the mobile toggler and the navbar-brand/library name - CK */ ?> <div class="navbar-header"> - <? /* mobile navigation toggler - CK */ ?> + <?php /* mobile navigation toggler - CK */ ?> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#header-collapse"> <span class="sr-only">Toggle navigation</span> <i class="fa fa-bars" aria-hidden="true"></i> @@ -17,30 +17,30 @@ <h1> <a class="navbar-brand lang-<?=$this->layout()->userLang?>" href="<?=$this->url('home')?>"> - <? /* Custom finc header - CK*/ ?> - <span class="hidden-sm hidden-md hidden-lg"><?=$this->transEsc("LibraryName")?></span> + <?php /* Custom finc header - CK */ ?> <img src="<?=$this->imageLink('headerlogo.png')?>" class="hidden-xs" alt="Logo <?=$this->transEsc("LibraryName")?>" title="<?=$this->transEsc("LibraryName")?>"> - <? /* Custom finc header - END */ ?> + <span><?=$this->transEsc("LibraryNameShort")?></span> + <?php /* Custom finc header - END */ ?> </a> </h1> </div> <div class="flex-container"> - <? if (!isset($this->layout()->renderingError)): ?> + <?php if (!isset($this->layout()->renderingError)): ?> <div class="collapse navbar-collapse right" id="header-collapse"> - <? /* finc: right-hand navbar section - see flex-container in SCSS: + <?php /* finc: right-hand navbar section - see flex-container in SCSS: we need this order on XS: navbar-right searchbox but reverse it on anything but mobile */ ?> <nav> <ul class="nav navbar-nav navbar-right flip"> - <? if ($this->feedback()->tabEnabled()): ?> + <?php if ($this->feedback()->tabEnabled()): ?> <li> <a id="feedbackLink" data-lightbox class="btn" href="<?=$this->url('feedback-home')?>"> <i class="fa fa-envelope" aria-hidden="true"></i> <span class="hidden-sm"><?=$this->transEsc("Feedback")?></span> </a> </li> - <? endif; ?> - <? $cart = $this->cart(); + <?php endif; ?> + <?php $cart = $this->cart(); if ($cart->isActive()): ?> <li id="cartSummary"> <a id="cartItems" class="btn" data-lightbox title="<?=$this->transEsc('View Book Bag')?>" href="<?=$this->url('cart-home')?>"> @@ -48,9 +48,9 @@ <span class="hidden-sm full<?=!$cart->isFull() ? ' hidden' : ''?>">(<?=$this->transEsc('bookbag_full')?>)</span> </a> </li> - <? endif; ?> + <?php endif; ?> - <? if (isset($this->layout()->themeOptions) && count($this->layout()->themeOptions) > 1): ?> + <?php if (isset($this->layout()->themeOptions) && count($this->layout()->themeOptions) > 1): ?> <li class="theme dropdown"> <form method="post" name="themeForm" id="themeForm"> <input type="hidden" name="ui"/> @@ -58,47 +58,46 @@ <a href="#" class="dropdown-toggle" data-toggle="dropdown"><?=$this->transEsc("Theme")?> <strong class="caret"></strong></a> <ul class="dropdown-menu"> - <? foreach ($this->layout()->themeOptions as $current): ?> + <?php foreach ($this->layout()->themeOptions as $current): ?> <li<?=$current['selected'] ? ' class="active"' : ''?>> <a href="#" onClick="document.themeForm.ui.value='<?=$this->escapeHtmlAttr($current['name'])?>';document.themeForm.submit()"><?=$this->transEsc($current['desc'])?></a> </li> - <? endforeach; ?> + <?php endforeach; ?> </ul> </li> - <? endif; ?> + <?php endif; ?> - <? if (isset($this->layout()->allLangs) && count($this->layout()->allLangs) > 1): ?> + <?php if (isset($this->layout()->allLangs) && count($this->layout()->allLangs) > 1): ?> <li class="language dropdown"> <form method="post" name="langForm" id="langForm"> <input type="hidden" name="mylang"/> </form> - <a href="#" class="btn dropdown-toggle hidden-xs hidden-sm" data-toggle="dropdown" aria-controls="langmenu" aria-expanded="false"> - <?=$this->transEsc("Language")?> <strong class="caret"></strong> - </a> - <ul id="langmenu" class="dropdown-menu"> - <? foreach ($this->layout()->allLangs as $langCode => $langName): ?> - <li<?=$this->layout()->userLang == $langCode ? ' class="active"' : ''?>> - <a class="btn" href="#" onClick="document.langForm.mylang.value='<?=$langCode?>';document.langForm.submit()"><?=$this->displayLanguageOption($langName)?></a> - </li> - <? endforeach; ?> - </ul> + <span id="langmenu"> + <? /* Hide active language and show only second choice, + add language code in css for BG image - CK */ ?> + <?php foreach ($this->layout()->allLangs as $langCode => $langName): ?> + <span<?=$this->layout()->userLang == $langCode ? ' class="hidden"' : ''?>> + <a class="btn <?=$langCode?>" href="#" onClick="document.langForm.mylang.value='<?=$langCode?>';document.langForm.submit()"><?=$this->displayLanguageOption($langName)?></a> + </span> + <?php endforeach; ?> + </span> </li> - <? endif; ?> + <?php endif; ?> </ul> </nav> </div> - <? endif; ?> - <? /* finc searchbox: we use searchbox here so it becomes part of the sticky header, + <?php endif; ?> + <?php /* finc searchbox: we use searchbox here so it becomes part of the sticky header, we need to place this after the navbar-right for anything but mobile - see flex-container in SCSS:*/ ?> - <? if ($this->layout()->searchbox !== false): ?> - <div class="search container left"> + <?php if ($this->layout()->searchbox !== false): ?> + <div class="search container"> <nav class="nav searchbox hidden-print"> <?=$this->layout()->searchbox?> </nav> </div> - <? endif; ?> - <? /* finc searchbox - END */ ?> + <?php endif; ?> + <?php /* finc searchbox - END */ ?> </div> </div> -<? /* If you want to use searchbox in a separate row, insert it here as in bootstrap theme - CK */ ?> -<!-- finc: header - END --> +<?php /* If you want to use searchbox in a separate row, insert it here as in bootstrap theme - CK */ ?> +<!-- fid_bbi: header --> diff --git a/themes/fid_bbi/templates/search/home.phtml b/themes/fid_bbi/templates/search/home.phtml index 108902f83b5..adbb1081124 100644 --- a/themes/fid_bbi/templates/search/home.phtml +++ b/themes/fid_bbi/templates/search/home.phtml @@ -1,5 +1,5 @@ <!-- fid_bbi: search - home --> -<? +<?php // Set page title. $this->headTitle($this->translate('Search Home')); @@ -20,7 +20,7 @@ $this->layout()->breadcrumbs = false; ?> <div class="searchHomeContent"> - <? + <?php /* fid_bbi searchbox: we use searchbox here so it becomes part of the sticky header, we need to place this after the navbar-right for anything but mobile - see flex-container in SCSS:*/ ?> @@ -29,9 +29,9 @@ $this->layout()->breadcrumbs = false; <?=$this->render('search/searchbox.phtml')?> </nav> </div> - <? /* fid_bbi searchbox - END */ ?> - <? /* finc-specific: #7187@89bb6e70; VF moved the original BS code to a separate template: helpers - ils-offline.phtml - CK */ ?> - <? + <?php /* fid_bbi searchbox - END */ ?> + <?php /* finc-specific: #7187@89bb6e70; VF moved the original BS code to a separate template: helpers - ils-offline.phtml - CK */ ?> + <?php $ilsStatusScript = <<<JS $(document).ready(function() { $.ajax({ @@ -46,11 +46,11 @@ $this->layout()->breadcrumbs = false; }); JS; ?> - <? /* finc-specific: #7187 - END */ ?> + <?php /* finc-specific: #7187 - END */ ?> <?=$this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, $ilsStatusScript, 'SET');?> - <? /* finc: Activate search box here if you want the old look -- otherwise we keep the consisten look with searchbox in header */ ?> - <? /* =$this->context($this)->renderInContext("search/searchbox.phtml", ['ignoreHiddenFilterMemory' => true])?> + <?php /* finc: Activate search box here if you want the old look -- otherwise we keep the consisten look with searchbox in header */ ?> + <?php /* =$this->context($this)->renderInContext("search/searchbox.phtml", ['ignoreHiddenFilterMemory' => true])?> <?=$this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, '$("#searchForm_lookfor").focus();', 'SET'); */ ?> </div> diff --git a/themes/fid_bbi/templates/search/searchbox.phtml b/themes/fid_bbi/templates/search/searchbox.phtml index 7dede105bbc..bd8ffbd75df 100644 --- a/themes/fid_bbi/templates/search/searchbox.phtml +++ b/themes/fid_bbi/templates/search/searchbox.phtml @@ -1,5 +1,5 @@ -<!-- finc: search - searchbox --> -<? +<!-- fid_bbi: search - searchbox --> +<?php // Set default value if necessary: if (!isset($this->searchClassId)) { $this->searchClassId = 'Solr'; @@ -28,109 +28,106 @@ if (empty($hiddenFilters) && !$ignoreHiddenFilterMemory) { } $hiddenFilterParams = $this->searchTabs()->getCurrentHiddenFilterParams($this->searchClassId, $ignoreHiddenFilterMemory, '?'); ?> -<? $searchTabs = $this->searchTabs()->getTabConfig($this->searchClassId, $this->lookfor, $this->searchIndex, $this->searchType, $hiddenFilters); ?> -<? if ($this->searchType == 'advanced'): ?> - <? /* finc: keep .no-margin-t or advanced search box will be pushed down too far (navbar-form) */ ?> - <div class="navbar-left flip no-margin-t"> - <? $tabs = $this->context($this)->renderInContext('search/searchTabs', ['searchTabs' => $searchTabs['tabs']]); ?> - <? if (!empty($tabs)): ?><?=$tabs?> - <div class="tab-content clearfix no-gutter-all"><? endif; ?> +<?php $tabConfig = $this->searchTabs()->getTabConfig($this->searchClassId, $this->lookfor, $this->searchIndex, $this->searchType, $hiddenFilters); ?> +<?php if ($this->searchType == 'advanced'): ?> + <?php /* finc: keep .no-margin-t or advanced search box will be pushed down too far (navbar-form) */ ?> + <div class="navbar-form flip no-margin-t"> + <?php $tabs = $this->context($this)->renderInContext('search/searchTabs', ['searchTabs' => $tabConfig['tabs']]); ?> + <?php if (!empty($tabs)): ?><?=$tabs?> + <div class="tab-content clearfix no-gutter-all"><?php endif; ?> <p class="adv_search_terms"><?=$this->transEsc("Your search terms")?> : "<strong><?=$this->escapeHtml($this->lookfor)?></strong>"</p> - <? /* finc: we use an ul li list, CK */ ?> + <?php /* finc: we use an ul li list, CK */ ?> <ul class="adv_search_links"> <li><a href="<?=$this->url($advSearch)?>?edit=<?=$this->escapeHtmlAttr($this->searchId)?>"><?=$this->transEsc("Edit this Advanced Search")?></a></li> <li><a href="<?=$this->url($advSearch) . $hiddenFilterParams?>"><?=$this->transEsc("Start a new Advanced Search")?></a></li> <li><a href="<?=$this->url($searchHome) . $hiddenFilterParams?>"><?=$this->transEsc("Start a new Basic Search")?></a></li> </ul> - <? if (!empty($tabs)): ?></div><? endif; ?> + <?php if (!empty($tabs)): ?></div><?php endif; ?> </div> -<? else: ?> - <form id="searchForm" class="searchForm navbar-form navbar-left flip" role="search" method="get" action="<?=$this->url($basicSearch)?>" name="searchForm" autocomplete="off"> - <?=$this->context($this)->renderInContext('search/searchTabs', ['searchTabs' => $searchTabs['tabs']]);?> - <? $placeholder = $this->searchbox()->getPlaceholderText(isset($searchTabs['selected']['id']) ? $searchTabs['selected']['id'] : null); ?> - <? /* finc: We use a list here, CK */ ?> - <ul class="navbar-left list-unstyled"> - <li> - <? /* finc: we use required='required', CK */ ?> - <input id="searchForm_lookfor" - class="searchForm_lookfor form-control search-query<? if ($this->searchbox()->autocompleteEnabled($this->searchClassId)): ?> autocomplete searcher:<?=$this->escapeHtmlAttr($this->searchClassId)?><? endif ?>" - type="text" name="lookfor" value="<?=$this->escapeHtmlAttr($this->lookfor)?>"<? if ($placeholder): ?> placeholder="<?=$this->transEsc($placeholder)?>"<? endif ?> required="required"/> - </li> - <?/* if ($handlerCount > 1): ?> +<?php else: ?> + <form id="searchForm" class="searchForm navbar-form flip" method="get" action="<?=$this->url($basicSearch)?>" name="searchForm" autocomplete="off"> + <?= $this->context($this)->renderInContext('search/searchTabs', ['searchTabs' => $tabConfig['tabs']]); ?> + <?php $placeholder = $this->searchbox()->getPlaceholderText($tabConfig['selected']['id'] ?? null); ?> + <?php /* finc: keep "required" */ ?> + <input id="searchForm_lookfor" class="searchForm_lookfor form-control search-query<?php if($this->searchbox()->autocompleteEnabled($this->searchClassId)):?> autocomplete searcher:<?=$this->escapeHtmlAttr($this->searchClassId) ?><?=$this->searchbox()->autocompleteAutoSubmit($this->searchClassId) ? ' ac-auto-submit' : '' ?><?php endif ?>" type="text" name="lookfor" value="<?=$this->escapeHtmlAttr($this->lookfor)?>"<?php if ($placeholder): ?> placeholder="<?=$this->transEsc($placeholder) ?>"<?php endif ?> aria-label="<?=$this->transEsc("search_terms")?>" required="required" /> + <?php /* finc: We use a list here, CK */ ?> + <ul class="list-unstyled"> + <?php /* if ($handlerCount > 1): ?> <li class="hidden-xs"> - <select id="searchForm_type" class="searchForm_type form-control" name="type" data-native-menu="false"> - <? foreach ($handlers as $handler): ?> + <select id="searchForm_type" class="searchForm_type form-control" name="type" data-native-menu="false" aria-label="<?=$this->transEsc("Search type")?>"> + <?php foreach ($handlers as $handler): ?> <option value="<?=$this->escapeHtmlAttr($handler['value'])?>"<?=$handler['selected'] ? ' selected="selected"' : ''?>><?=$handler['indent'] ? '-- ' : ''?><?=$this->transEsc($handler['label'])?></option> - <? endforeach; ?> + <?php endforeach; ?> </select> </li> - <? elseif ($handlerCount == 1): ?> + <?php elseif ($handlerCount == 1): ?> <input type="hidden" name="type" value="<?=$this->escapeHtmlAttr($handlers[0]['value'])?>"/> - <? endif;*/ ?> + <?php endif; */ ?> <li> - <button type="submit" class="btn btn-primary"><i class="fa fa-search" aria-hidden="true"></i> <span class="find-label"><?/*=$this->transEsc("Find")*/?></span></button> + <button type="submit" class="btn btn-primary"><i class="fa fa-search" aria-hidden="true"></i> <span class="find-label sr-only"><?=$this->transEsc("Find")?></span></button> </li> - <? /*if ($advSearch): ?> + <?php /* if ($advSearch): ?> <li class="hidden-xs"> - <a href="<?=$this->url($advSearch) . ((isset($this->searchId) && $this->searchId) ? '?edit=' . $this->escapeHtmlAttr($this->searchId) : $hiddenFilterParams)?>" class="btn btn-transparent" - role="button" rel="nofollow"><i class="fa fa-cog"></i> <span class="hidden-xs hidden-sm hidden-md"><?=$this->transEsc("Advanced")?></span></a> + <a href="<?=$this->url($advSearch) . ((isset($this->searchId) && $this->searchId) ? '?edit=' . $this->escapeHtmlAttr($this->searchId) : $hiddenFilterParams)?>" class="btn btn-transparent" role="button" rel="nofollow"><i class="fa fa-cog"></i> <span class="hidden-xs hidden-sm hidden-md"><?=$this->transEsc("Advanced")?></span></a> </li> - <? endif;*/ ?> + <?php endif; */ ?> <li> - <? if ($geoUrl = $this->geocoords()->getSearchUrl($options)) : ?> + <?php if ($geoUrl = $this->geocoords()->getSearchUrl($options)) : ?> <a href="<?=$geoUrl?>" class="btn btn-link"><?=$this->transEsc('Geographic Search')?></a> - <? endif; ?> + <?php endif; ?> </li> </ul> - <? /* finc: We hide this for small and keep the solution using labels, same below - CK */ ?> + <?php /* finc: We hide this for small and keep the solution using labels, same below - CK */ ?> <div class="checkbox hidden-xs"> - <? $shards = $options->getShards(); + <?php $shards = $options->getShards(); if ($options->showShardCheckboxes() && !empty($shards)): ?> - <? + <?php $selectedShards = isset($this->selectedShards) ? $this->selectedShards : $options->getDefaultSelectedShards(); ?> - <? foreach ($shards as $shard => $val): ?> - <? $isSelected = empty($selectedShards) || in_array($shard, $selectedShards); ?> - <input type="checkbox" <?=$isSelected ? 'checked="checked" ' : ''?>name="shard[]" value='<?=$this->escapeHtmlAttr($shard)?>' id='checkbox_<?=$this->escapeHtmlAttr($shard)?>'/> <label for="checkbox_<?=$this->escapeHtmlAttr($shard)?>"><?=$this->transEsc($shard)?></label> - <? endforeach; ?> - <? endif; ?> + <?php foreach ($shards as $shard => $val): ?> + <?php $isSelected = empty($selectedShards) || in_array($shard, $selectedShards); ?> + <label for="checkbox_<?=$this->escapeHtmlAttr($shard)?>"><?=$this->transEsc($shard)?> + <input type="checkbox" <?=$isSelected ? 'checked="checked" ' : ''?>name="shard[]" value='<?=$this->escapeHtmlAttr($shard)?>' id='checkbox_<?=$this->escapeHtmlAttr($shard)?>'/> + </label> + <?php endforeach; ?> + <?php endif; ?> </div> - <? + <?php $filterDetails = $this->searchbox()->getFilterDetails( isset($this->filterList) && is_array($this->filterList) ? $this->filterList : [], isset($this->checkboxFilters) && is_array($this->checkboxFilters) ? $this->checkboxFilters : [] ); ?> - <? if ((isset($hasDefaultsApplied) && $hasDefaultsApplied) || !empty($filterDetails)): ?> - <? $defaultFilterState = $options->getRetainFilterSetting() ? ' checked="checked"' : ''; ?> + <?php if ((isset($hasDefaultsApplied) && $hasDefaultsApplied) || !empty($filterDetails)): ?> + <?php $defaultFilterState = $options->getRetainFilterSetting() ? ' checked="checked"' : ''; ?> <div class="checkbox"> - <input type="checkbox"<?=$defaultFilterState?> class="searchFormKeepFilters" id="keepfilters"> - <label for="keepfilters"> + <label> + <input type="checkbox"<?=$defaultFilterState?> class="searchFormKeepFilters"/> <?=$this->transEsc("basic_search_keep_filters")?> </label> </div> <div class="hidden"> - <? foreach ($filterDetails as $current): ?> + <?php foreach ($filterDetails as $current): ?> <input class="applied-filter" id="<?=$this->escapeHtmlAttr($current['id'])?>" type="checkbox"<?=$defaultFilterState?> name="filter[]" value="<?=$this->escapeHtmlAttr($current['value'])?>"/> <label for="<?=$this->escapeHtmlAttr($current['id'])?>"><?=$this->escapeHtml($current['value'])?></label> - <? endforeach; ?> - <? if (isset($hasDefaultsApplied) && $hasDefaultsApplied): ?> + <?php endforeach; ?> + <?php if (isset($hasDefaultsApplied) && $hasDefaultsApplied): ?> <!-- this is a hidden element that flags whether or not default filters have been applied; it is intentionally unlabeled, as users are not meant to manipulate it directly. --> <input class="applied-filter" id="dfApplied" type="checkbox" name="dfApplied" value="1"<?=$defaultFilterState?> /> - <? endif; ?> + <?php endif; ?> </div> - <? endif; ?> - <? foreach ($hiddenFilters as $key => $filter): ?> - <? foreach ($filter as $value): ?> + <?php endif; ?> + <?php foreach ($hiddenFilters as $key => $filter): ?> + <?php foreach ($filter as $value): ?> <input type="hidden" name="hiddenFilters[]" value="<?=$this->escapeHtmlAttr($key) . ':' . $this->escapeHtmlAttr($value)?>"/> - <? endforeach; ?> - <? endforeach; ?> - <? + <?php endforeach; ?> + <?php endforeach; ?> + <?php /* Show hidden field for active search class when in combined handler mode. */ if ($this->searchbox()->combinedHandlersActive()) { echo '<input type="hidden" name="activeSearchClassId" value="' . $this->escapeHtmlAttr($this->searchClassId) . '" />'; @@ -144,5 +141,5 @@ $hiddenFilterParams = $this->searchTabs()->getCurrentHiddenFilterParams($this->s } ?> </form> -<? endif; ?> -<!-- finc: search - searchbox - END --> +<?php endif; ?> +<!-- fid_bbi: search - searchbox - END --> -- GitLab