diff --git a/themes/bootstrap3/templates/Recommend/SummonResultsDeferred.phtml b/themes/bootstrap3/templates/Recommend/SummonResultsDeferred.phtml
index 7a58bcb583b..a12a02f2eeb 100644
--- a/themes/bootstrap3/templates/Recommend/SummonResultsDeferred.phtml
+++ b/themes/bootstrap3/templates/Recommend/SummonResultsDeferred.phtml
@@ -4,7 +4,7 @@
. "VuFind.loadHtml(\$('#SummonDeferredRecommend'), url);";
?>
-
=$this->transEsc('Summon Results')?>
+
=$this->transEsc('Summon Results')?>
=$this->icon('spinner') ?> =$this->transEsc('loading_ellipsis')?>
=$this->inlineScript(\Laminas\View\Helper\HeadScript::SCRIPT, $loadJs, 'SET')?>
diff --git a/themes/bootstrap3/templates/Recommend/WebResults.phtml b/themes/bootstrap3/templates/Recommend/WebResults.phtml
index 1eedd9a69ab..4b7acdbb229 100644
--- a/themes/bootstrap3/templates/Recommend/WebResults.phtml
+++ b/themes/bootstrap3/templates/Recommend/WebResults.phtml
@@ -1,10 +1,11 @@
recommend->getResults();
$results = $searchObject->getResults();
+ $heading = $this->recommend->getHeading();
?>
-
=$this->transEsc('Library Web Search')?>
+
=$this->transEsc($heading)?>
diff --git a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-summary.phtml b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-summary.phtml
index 408ed7a20c1..bd4333cb4e5 100644
--- a/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-summary.phtml
+++ b/themes/bootstrap3/templates/RecordDriver/DefaultRecord/data-summary.phtml
@@ -4,7 +4,7 @@
driver->getCleanISBN(); ?>
summaries($isbn) as $provider => $content): ?>
- '; ?>
+ '); ?>
=$htmlContent ? $summary : ($this->escapeHtml($summary) . '
')?>
diff --git a/themes/bootstrap3/templates/RecordTab/versions.phtml b/themes/bootstrap3/templates/RecordTab/versions.phtml
index 929320ef8f1..5e2f81d5133 100644
--- a/themes/bootstrap3/templates/RecordTab/versions.phtml
+++ b/themes/bootstrap3/templates/RecordTab/versions.phtml
@@ -42,11 +42,9 @@
jsTranslations()->getJSON();
-// Use combinedSearch.initResultScripts to avoid duplicating the list of scripts
-// required for results loaded via AJAX:
$script = <<
=$this->inlineScript(\Laminas\View\Helper\HeadScript::SCRIPT, $script, 'SET'); ?>
diff --git a/themes/bootstrap3/templates/combined/results-list.phtml b/themes/bootstrap3/templates/combined/results-list.phtml
index 7471943898a..d936ba291e4 100644
--- a/themes/bootstrap3/templates/combined/results-list.phtml
+++ b/themes/bootstrap3/templates/combined/results-list.phtml
@@ -27,7 +27,9 @@
const span = template.content.children[0];
const link = document.querySelector('.combined-jump-links .$classId');
- link.append(span);
+ if (link) {
+ link.append(span);
+ }
}
if (document.readyState != 'loading') {
diff --git a/themes/bootstrap3/templates/combined/results.phtml b/themes/bootstrap3/templates/combined/results.phtml
index b44609a9436..e0cff5f5a80 100644
--- a/themes/bootstrap3/templates/combined/results.phtml
+++ b/themes/bootstrap3/templates/combined/results.phtml
@@ -51,51 +51,52 @@
$this->headLink()->appendStylesheet('combined-search.css');
?>
=$this->flashmessages()?>
+=$this->escapeHtml($headTitle)?>
+getRecommendations('top'); ?>
+
+
+
+ =$this->recommend($current)?>
+
+
+
+
+ =$this->render('combined/jump-links.phtml', ['combinedResults' => $this->combinedResults])?>
+
+ $searchClassId,
+ 'combinedResults' => $this->combinedResults,
+ 'supportsCartOptions' => $this->supportsCartOptions,
+ 'showCartControls' => $this->showCartControls,
+ 'showBulkOptions' => $this->showBulkOptions,
+ ];
+?>
-
-
+
+
=$this->context($this)->renderInContext('combined/stack-' . $placement . '.phtml', $viewParams); ?>
-
+
- getRecommendations('bottom'); ?>
-
-
-
- =$this->recommend($current)?>
-
-
-
-
+
+
+ =$this->context($this)->renderInContext('combined/stack-' . $placement . '.phtml', $viewParams); ?>
+
+
+getRecommendations('bottom'); ?>
+
+
+
+ =$this->recommend($current)?>
+
+
+
diff --git a/themes/bootstrap3/templates/combined/stack-grid.phtml b/themes/bootstrap3/templates/combined/stack-grid.phtml
index 4a6e1b2e5d3..1576aa0dc04 100644
--- a/themes/bootstrap3/templates/combined/stack-grid.phtml
+++ b/themes/bootstrap3/templates/combined/stack-grid.phtml
@@ -1,5 +1,5 @@
combinedResults as $searchClassId => $currentSearch): ?>
diff --git a/themes/bootstrap3/templates/layout/layout.phtml b/themes/bootstrap3/templates/layout/layout.phtml
index 47929535ca2..6f06c46c7a6 100644
--- a/themes/bootstrap3/templates/layout/layout.phtml
+++ b/themes/bootstrap3/templates/layout/layout.phtml
@@ -1,5 +1,17 @@
=$this->doctype()?>
-
+layout()->searchbox)) {
+ $this->layout()->searchbox = $this->context($this)->renderInContext('search/searchbox.phtml', []);
+ }
+?>
layout()->rtl): ?> dir="rtl">
setupThemeResources(); ?>
@@ -109,16 +121,6 @@
=$this->headScript() ?>
- layout()->searchbox)) {
- $this->layout()->searchbox = $this->render('search/searchbox.phtml');
- }
- ?>
layout()->srmessage)): // message for benefit of screen-reader users ?>
=$this->layout()->srmessage ?>
diff --git a/themes/bootstrap3/templates/myresearch/fines.phtml b/themes/bootstrap3/templates/myresearch/fines.phtml
index bf076c0a251..a4d83c6d878 100644
--- a/themes/bootstrap3/templates/myresearch/fines.phtml
+++ b/themes/bootstrap3/templates/myresearch/fines.phtml
@@ -39,6 +39,7 @@
$tableData['Checked Out'][] = $this->escapeHtml($record['checkout'] ?? '');
$tableData['Due Date'][] = $this->escapeHtml($record['duedate'] ?? '');
$tableData['Fine'][] = $this->transEsc($record['fine'] ?? '');
+ $tableData['Fine Description'][] = $this->transEsc($record['description'] ?? '');
$tableData['Fine Date'][] = $this->escapeHtml($record['createdate'] ?? '');
$tableData['Fee'][] = isset($record['amount'])
? $this->safeMoneyFormat($record['amount'] / 100.00) : '';
@@ -51,7 +52,7 @@
foreach ($tableData as $column => $values) {
$empty = true;
foreach ($values as $value) {
- if (strlen($value) > 0) {
+ if ('' !== (string)$value) {
$empty = false;
break;
}
@@ -65,7 +66,7 @@
$columns = array_keys($tableData);
$rowCount = count($this->fines);
?>
-
+
=$this->transEsc('Your Fines')?>
diff --git a/themes/bootstrap3/templates/search/controls/showing.phtml b/themes/bootstrap3/templates/search/controls/showing.phtml
index 397832b752b..06d2b1d49d8 100644
--- a/themes/bootstrap3/templates/search/controls/showing.phtml
+++ b/themes/bootstrap3/templates/search/controls/showing.phtml
@@ -6,25 +6,24 @@
'%%lookfor%%' => $this->escapeHtml($this->lookfor),
];
- $showingResults = $this->translate(
- isset($this->skipTotalCount) ? 'showing_results_html' : 'showing_results_of_html',
- $transParams
- );
+ // Use simple format if search-heading is set, search type is not basic or we have a simple top paginator enabled:
+ $topPaginator = $this->results ? $this->results->getOptions()->getTopPaginatorStyle() : '';
+ if ($this->slot('search-heading')->isset() || $this->params->getSearchType() !== 'basic' || 'simple' === $topPaginator) {
+ $showingResults = !empty($this->skipTotalCount)
+ ? $this->translate('showing_results_html', $transParams)
+ : $this->translate('showing_results_of_html', $transParams);
+ // Append search-heading only if it's not empty to avoid extra whitespace:
+ if ($heading = $this->slot('search-heading')->get()) {
+ $showingResults .= $heading;
+ }
+ } else {
+ $showingResults = !empty($this->skipTotalCount)
+ ? $this->translate('showing_results_for_html', $transParams)
+ : $this->translate('showing_results_of_for_html', $transParams);
+ }
?>
-
-slot('search-heading')->isset()): ?>
- slot('search-heading')->get()): ?>
-
-
-params->getSearchType() == 'basic'):
- $showingResults = $this->translate(
- isset($this->skipTotalCount) ? 'showing_results_for_html' : 'showing_results_of_for_html',
- $transParams
- );
-endif; ?>
-
layout()->srmessage = $showingResults; ?>
-results->getQuerySpeed()): ?>
+results->getQuerySpeed() && 'simple' !== $topPaginator): ?>
=$showingResults; ?>, =$this->transEsc('query time')?>: =$this->localizedNumber($qtime, 2) . $this->transEsc('seconds_abbrev')?>
=$showingResults; ?>
diff --git a/themes/bootstrap3/templates/search/filters.phtml b/themes/bootstrap3/templates/search/filters.phtml
index 3c5ac2427b9..fa8a43318c7 100644
--- a/themes/bootstrap3/templates/search/filters.phtml
+++ b/themes/bootstrap3/templates/search/filters.phtml
@@ -128,7 +128,7 @@
=$this->transEscAttr('page_reload_on_deselect_hint') ?>
- getRetainFilterSetting()): ?>
+ shouldDisplayResetFilters()): ?>
=$this->transEsc('reset_filters_button')?>
=$this->transEsc('adv_search_filters')?>:
@@ -143,7 +143,7 @@
=$this->transEscAttr('page_reload_on_deselect_hint') ?>
- getRetainFilterSetting()): ?>
+ shouldDisplayResetFilters()): ?>
=$this->transEsc('reset_filters_button')?>
diff --git a/themes/bootstrap3/templates/search/pagination.phtml b/themes/bootstrap3/templates/search/pagination.phtml
index 7da3783daa5..793e5b79e23 100644
--- a/themes/bootstrap3/templates/search/pagination.phtml
+++ b/themes/bootstrap3/templates/search/pagination.phtml
@@ -1,6 +1,12 @@
pageCount): ?>