Commit df073dea authored by Thomas Löffler's avatar Thomas Löffler

Uses newest solr version

* New result list view
* Uses fluid for solr views
* Adds version support in indexer
parent 4b9cf417
Pipeline #1957 passed with stages
in 1 minute and 28 seconds
......@@ -4,38 +4,39 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"content-hash": "60939b9eef066d4ef7ca14a83fa7f2dd",
"content-hash": "839862f736507de6e6e27ae5f7748146",
"packages": [
{
"name": "apache-solr-for-typo3/solr",
"version": "6.1.3",
"version": "7.0.1",
"source": {
"type": "git",
"url": "https://github.com/TYPO3-Solr/ext-solr.git",
"reference": "0cf73b39cf07a9c35a0acd3a0893117ed397d29f"
"reference": "de84bf48b150e55b1ff5fa3ef081d9e9c9e205bb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/TYPO3-Solr/ext-solr/zipball/0cf73b39cf07a9c35a0acd3a0893117ed397d29f",
"reference": "0cf73b39cf07a9c35a0acd3a0893117ed397d29f",
"url": "https://api.github.com/repos/TYPO3-Solr/ext-solr/zipball/de84bf48b150e55b1ff5fa3ef081d9e9c9e205bb",
"reference": "de84bf48b150e55b1ff5fa3ef081d9e9c9e205bb",
"shasum": ""
},
"require": {
"php": ">=5.5.0",
"typo3/cms": ">=7.6.0"
"php": ">=7.0.0",
"typo3/cms": ">=8.7.0"
},
"replace": {
"apache-solr-for-typo3/solrfluid": "*",
"solr": "self.version",
"typo3-ter/solr": "self.version"
},
"require-dev": {
"nimut/testing-framework": "^1.1",
"phpunit/phpunit": ">=4.8.0 <6.0.0"
"phpunit/phpunit": "^5.6"
},
"type": "typo3-cms-extension",
"extra": {
"branch-alias": {
"dev-master": "6.1.x-dev"
"dev-master": "7.0.x-dev"
},
"typo3/cms": {
"extension-key": "solr",
......@@ -70,7 +71,7 @@
"solr",
"typo3"
],
"time": "2017-08-09T12:39:31+00:00"
"time": "2017-08-15T08:08:24+00:00"
},
{
"name": "cogpowered/finediff",
......
......@@ -17,6 +17,7 @@ namespace T3o\TerFe2\Solr\IndexQueue;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use ApacheSolrForTypo3\Solr\IndexQueue\Item;
use TYPO3\CMS\Core\Utility\VersionNumberUtility;
use T3o\TerFe2\Utility\Version;
/**
* Class \T3o\TerFe2\Solr\IndexQueue\TerIndexer
......@@ -102,6 +103,14 @@ class TerIndexer extends \ApacheSolrForTypo3\Solr\IndexQueue\Indexer {
$document->setField('outdated_boolS', $extension->getLastVersion()->getReviewState() === -2);
// does this extension supports different versions?
// @todo: use JSON with all versions to get them
$lastVersion = $extension->getLastVersion();
$document->setField('supports6_boolS', Version::doesExtensionVersionSupportTypo3Version($lastVersion, 6200000));
$document->setField('supports7_boolS', Version::doesExtensionVersionSupportTypo3Version($lastVersion, 7006000));
$document->setField('supports8_boolS', Version::doesExtensionVersionSupportTypo3Version($lastVersion, 8007000));
$document->setField('supports9_boolS', Version::doesExtensionVersionSupportTypo3Version($lastVersion, 9000000));
// add documentation link
/** @var \T3o\TerFe2\Service\Documentation $documentationService */
$documentationService = GeneralUtility::makeInstance(\T3o\TerFe2\Service\Documentation::class);
......
......@@ -51,4 +51,21 @@ class Version
);
return intval($parts[0]) . '.' . intval($parts[1]) . '.' . intval($parts[2]);
}
/**
* @param \T3o\TerFe2\Domain\Model\Version $version
* @param int $mainVersion
* @return bool
*/
public static function doesExtensionVersionSupportTypo3Version(\T3o\TerFe2\Domain\Model\Version $version, int $mainVersion): bool
{
if (empty($version->getTypo3Dependency())) {
return false;
}
// reset from e.g. 7.6.21 to 7.6.0 for valid check
$resetMinimumVersion = (int)($version->getTypo3Dependency()->getMinimumVersion() / 1000) * 1000;
return $resetMinimumVersion <= $mainVersion && $version->getTypo3Dependency()->getMaximumVersion() >= $mainVersion;
}
}
......@@ -4,6 +4,14 @@ plugin.tx_solr {
results = EXT:ter_layout/Resources/Private/Ext/Solr/Results.html
pagebrowser = EXT:ter_layout/Resources/Private/Ext/Solr/Pagebrowser.html
}
view {
templateFiles {
results = EXT:ter_layout/Resources/Private/Templates/Solr/Results.html
}
partialRootPaths {
100 = EXT:ter_layout/Resources/Private/Partials/Solr/
}
}
cssFiles.results =
}
......
<!-- ###PAGE_BROWSER### begin -->
<nav aria-label="Pagination" class="tx-solr-pagination-page-browser tx-pagebrowse-pi1">
<!--TYPO3SEARCH_end-->
<ul class="pagination justify-content-center">
<!-- ###ACTIVE_FIRST### begin -->
<li class="page-item"><a class="page-link" href="###FIRST_LINK###">&laquo; ###TEXT_FIRST###</a></li>
<!-- ###ACTIVE_FIRST### end -->
<!-- ###INACTIVE_FIRST### begin -->
<li class="page-item disabled"><span class="page-link">&laquo; ###TEXT_FIRST###</span></li>
<!-- ###INACTIVE_FIRST### end -->
<!-- ###ACTIVE_PREV### begin -->
<li class="page-item"><a class="page-link" href="###PREV_LINK###">&lsaquo; ###TEXT_PREV###</a></li>
<!-- ###ACTIVE_PREV### end -->
<!-- ###INACTIVE_PREV### begin -->
<li class="page-item disabled"><span class="page-link">&lsaquo; ###TEXT_PREV###</span></li>
<!-- ###INACTIVE_PREV### end -->
<!-- ###PAGES### begin -->
<!-- ###LESS_PAGES### begin -->
<li class="page-item"><span class="page-link">...</span></li>
<!-- ###LESS_PAGES### end -->
<!-- ###PAGE### begin -->
<li class="page-item"><a class="page-link" href="###LINK###">###NUMBER_DISPLAY###</a></li>
<!-- ###PAGE### end -->
<!-- ###CURRENT### begin -->
<li class="page-item active"><span class="page-link">###NUMBER_DISPLAY###</span></li>
<!-- ###CURRENT### end -->
<!-- ###MORE_PAGES### begin -->
<li class="page-item"><span class="page-link">...</span></li>
<!-- ###MORE_PAGES### end -->
<!-- ###PAGES### end -->
<!-- ###ACTIVE_NEXT### begin -->
<li class="page-item"><a class="page-link" href="###NEXT_LINK###">###TEXT_NEXT### &rsaquo;</a></li>
<!-- ###ACTIVE_NEXT### end -->
<!-- ###INACTIVE_NEXT### begin -->
<li class="page-item disabled"><span class="page-link">###TEXT_NEXT### &rsaquo;</span></li>
<!-- ###INACTIVE_NEXT### end -->
<!-- ###ACTIVE_LAST### begin -->
<li class="page-item"><a class="page-link" href="###LAST_LINK###">###TEXT_LAST### &raquo;</a></li>
<!-- ###ACTIVE_LAST### end -->
<!-- ###INACTIVE_LAST### begin -->
<li class="page-item disabled"><span class="page-link">###TEXT_LAST### &raquo;</span></li>
<!-- ###INACTIVE_LAST### end -->
</ul>
<!--TYPO3SEARCH_begin-->
</nav>
<!-- ###PAGE_BROWSER### end -->
</body>
</html>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Template for the search results view for EXT:solr</title>
</head>
<body>
<!-- ###SOLR_SEARCH### begin -->
<div class="ter-ext-list-search">
<!-- ###SOLR_SEARCH_SORTING### begin -->
<span class="ter-ext-list-search-sorting cl">
<label for="ter-ext-list-search-sorting">###LLL:sorting_sortBy###: </label>
<select class="jsSubmit" id="ter-ext-list-search-sorting" name="###TX_SOLR.PREFIX###[sort]">
<!-- ###LOOP:SORT### begin -->
<!-- ###LOOP_CONTENT### -->
<option value="###SORT.url###" ###SORT.selected###>
###SORT.label###
</option>
<!-- ###LOOP_CONTENT### -->
<!-- ###LOOP:SORT### end -->
</select>
</span>
<!-- ###SOLR_SEARCH_SORTING### end -->
<!-- ###SOLR_SEARCH_FORM### begin -->
<!-- <form id="tx-solr-search-form-pi-results" action="###FORM.ACTION###" method="get" accept-charset="###FORM.ACCEPT-CHARSET###" data-suggest-url="###FORM.SUGGEST_URL_RAW###">
<input type="hidden" name="id" value="###FORM.ACTION_ID###" />
<input type="hidden" name="###FORM.ACTION_LANGUAGE_PARAMETER###" value="###FORM.ACTION_LANGUAGE###" />
<input type="text" id="ter-ext-list-search-needle" class="tx-solr-q form-input" name="###TX_SOLR.QUERY_PARAMETER###" value="###FORM.Q###" />
<input type="submit" class="bu" value="###LLL:submit###" />-->
<!-- ###SOLR_SEARCH_FORM### end -->
<!-- ###SOLR_SEARCH_FACETING### begin -->
<!-- ###SOLR_SEARCH_FACETING### end -->
<!-- ###SOLR_SEARCH_FACETING_DISABLED### begin -->
###IF:###FACETING.search_has_results###|==|1|x###
<div id="ter-filter-toggle" class="ter-toggle
###IF:###FACETING.active###|==|1###
ter-toggle-showLess
###IF:###FACETING.active###|==|1###
">
<div id="ter-filter-toggler"><span class="bu bu-mini"><span>Filter</span></span></div>
<hr>
</div>
<div id="tx-solr-faceting" class="ter-filter"
###IF:###FACETING.active###|==|0###
style="display: none;"
###IF:###FACETING.active###|==|0###
>
<!-- ###AVAILABLE_FACETS### begin -->
<div id="tx-solr-facets-available" class="secondaryContentSection">
<!-- ###SINGLE_FACET### begin -->
<div class="facet facet-###FACET.name### facet-type-###FACET.type###">
<h5 class="facet-label csc-header">###FACET.label###</h5>
<!-- ###SINGLE_FACET_OPTION### begin -->
<!-- ###LOOP:FACET_LINKS### begin -->
<!-- ###LOOP_CONTENT### -->
<div class="facet-option">
<input type="checkbox"
###IF:###FACET_LINK.facetName###|==|outdated###
name="tx_solr[filter][###FACET_LINK.facetName###]"
###IF:###FACET_LINK.facetName###|==|outdated###
###IF:###FACET_LINK.facetName###|!=|outdated###
name="tx_solr[filter][]"
###IF:###FACET_LINK.facetName###|!=|outdated###
class="facet-item" id="facet-###FACET_LINK.facetName###-option-###FACET_LINK.value###" value="###FACET_LINK.facetName###:###FACET_LINK.value###"
###IF:###FACET_LINK.selected###|==|1###
checked="checked"
###IF:###FACET_LINK.selected###|==|1###
/>
<label for="facet-###FACET_LINK.facetName###-option-###FACET_LINK.value###">###FACET_LINK.text###</label>
</div>
<!-- ###LOOP_CONTENT### -->
<!-- ###LOOP:FACET_LINKS### end -->
<!-- ###SINGLE_FACET_OPTION### end -->
</div>
<!-- ###SINGLE_FACET### end -->
<div class="facet facet-typo3-version">
<h5 class="facet-label csc-header">TYPO3 Version</h5>
<input value="###TS:lib.solr.selected_typo3_filter.min###" name="tx_solr[filter][extensionMinTYPO3Version]" id="ter-ext-list-typo3-min-version" type="hidden" />
<input value="###TS:lib.solr.selected_typo3_filter.max###" name="tx_solr[filter][extensionMaxTYPO3Version]" id="ter-ext-list-typo3-max-version" type="hidden" />
<div class="facet-type-slider">
<div id="ter-ext-list-version-slider" class="noUi-extended"></div>
</div>
</div>
</div>
<!-- ###AVAILABLE_FACETS### end -->
<div style="clear: both;"></div>
</div>
###IF:###FACETING.search_has_results###|==|1|x###
<!-- ###SOLR_SEARCH_FACETING_DISABLED### end -->
<!-- </form>
</div>-->
<!-- ###SOLR_SEARCH_RESULTS### begin -->
<div class="mb-3">
###IF:###RESULTS.count###|==|1###
###RESULTS.count### extension found
###IF:###RESULTS.count###|==|1###
###IF:###RESULTS.count###|>|1###
###RESULTS.count### extensions found
###IF:###RESULTS.count###|>|1###
</div>
<!-- RESULT LIST begin -->
<ol start="###RESULTS.OFFSET###" class="list-unstyled results-list">
<!-- ###LOOP:RESULT_DOCUMENTS### begin -->
<!-- ###LOOP_CONTENT### -->
<li class="results-entry###IF:###RESULT_DOCUMENT.isElevated###|==|1|class### results-elevated###IF:###RESULT_DOCUMENT.isElevated###|==|1|class###">
<div class="mb-3">
<div class="card">
<!--
Score: ###RESULT_DOCUMENT.SCORE###
Document ID: ###RESULT_DOCUMENT.ID###
-->
<div class="card-header">
<div class="row align-items-center">
<div class="col-md-8">
<h2 class="card-title">
###IF:###RESULT_DOCUMENT.extensionIcon_stringS###|!=|###
<img class="ter-ext-icon" alt="###RESULT_DOCUMENT.title###" src="###RESULT_DOCUMENT.extensionIcon_stringS###" height="16" width="16">
###IF:###RESULT_DOCUMENT.extensionIcon_stringS###|!=|###
<a href="###RESULT_DOCUMENT.url###">###RESULT_DOCUMENT.title###</a>
</h2>
<h4 class="card-subtitle mb-2 text-muted">
###RESULT_DOCUMENT.extensionKey_stringS### /
<span class="ter-ext-state ter-ext-state-###RESULT_DOCUMENT.extensionState_stringS###">###RESULT_DOCUMENT.extensionState_stringS###</span>
</h4>
</div>
<div class="col-md-4 text-right">
<a class="btn btn-lg btn-primary" href="###RESULT_DOCUMENT.extensionDownloadZipUrl_stringS###">
<i class="fa fa-download"></i> Download ZIP Archive
</a>
</div>
</div>
</div>
<div class="card-block">
<div class="row">
<div class="col-md-8 mb-3">
<div class="alert alert-warning"><strong>Needs TYPO3 ###RESULT_DOCUMENT.extensionDependency_stringS###</strong></div>
<p class="card-text">
<strong>Description:</strong>
<br>###RESULT_DOCUMENT.content###
</p>
</div>
<div class="col-md-4">
<div class="alert alert-info">
<dl class="dl-horizontal">
<dt>
Version:
</dt>
<dd>###RESULT_DOCUMENT.extensionVersion_stringS###</dd>
<dt>
Author:
</dt>
<dd>###RESULT_DOCUMENT.author###</dd>
<dt>
Uploaded:
</dt>
<dd>###DATE:###RESULT_DOCUMENT.extensionLastUpload_intS######</dd>
###IF:###RESULT_DOCUMENT.extensionDocumentationLink_stringS###|!=|###
<dt>
Manual:
</dt>
<dd>###LINK:Extension manual|###RESULT_DOCUMENT.extensionDocumentationLink_stringS######</dd>
###IF:###RESULT_DOCUMENT.extensionDocumentationLink_stringS###|!=|###
</dl>
</div>
</div>
</div>
</div>
</div>
</div>
</li>
<!-- ###LOOP_CONTENT### -->
<!-- ###LOOP:RESULT_DOCUMENTS### end -->
</ol>
<!-- RESULT LIST end -->
###RESULTS.PAGEBROWSER###
<!-- ###SOLR_SEARCH_RESULTS### end -->
<!-- ###SOLR_SEARCH_NO_RESULTS### begin -->
<div class="tx-solr-search-no-results">
<div class="typo3-message message-warning">
<div class="message-header">###NO_RESULTS.nothing_found###</div>
<div class="message-body">###NO_RESULTS.showing_results_suggestion###.</div>
</div>
###NO_RESULTS.SUGGESTION_RESULTS###
</div>
<!-- ###SOLR_SEARCH_NO_RESULTS### end -->
<!-- ###SOLR_SEARCH### end -->
<!-- ###SOLR_SEARCH_UNAVAILABLE### begin -->
###LLL:searchUnavailable###
<!-- ###SOLR_SEARCH_UNAVAILABLE### end -->
<!-- ###SOLR_SEARCH_ERROR### begin -->
###LLL:searchFailed###
<!-- ###SOLR_SEARCH_ERROR### end -->
</body>
</html>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Template for the search form view for EXT:solr</title>
</head>
<body>
<!-- ###SOLR_SEARCH### begin -->
<!-- ###SOLR_SEARCH_FORM### begin -->
<div class="tx-solr-searchbox">
###FORM.SUGGEST_URL###
<form id="tx-solr-search-form-pi-search" action="###FORM.ACTION###" method="get" accept-charset="###FORM.ACCEPT-CHARSET###">
<input type="hidden" name="id" value="###FORM.ACTION_ID###" />
<input type="hidden" name="###FORM.ACTION_LANGUAGE_PARAMETER###" value="###FORM.ACTION_LANGUAGE###" />
<input type="text" id="inputText" class="tx-solr-q" name="q" value="" />
<input type="submit" id="submitButton" alt="Search" title="Search" value="Search "/>
</form>
</div>
<!-- ###SOLR_SEARCH_FORM### end -->
<!-- ###SOLR_SEARCH### end -->
<!-- ###SOLR_SEARCH_ERROR### begin -->
###LLL:searchFailed###
<!-- ###SOLR_SEARCH_ERROR### end -->
</body>
</html>
\ No newline at end of file
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"
xmlns:f="http://typo3.org/ns/TYPO3/Fluid/ViewHelpers"
xmlns:s="http://typo3.org/ns/ApacheSolrForTypo3/Solr/ViewHelpers">
<f:section name="Document">
<li class="card results-entry mb-3 col-md-6{f:if(condition:document.isElevated, then: ' results-elevated')}"
data-document-score="{document.score}"
data-document-id="{document.id}"
data-document-url="{document.url}"
>
<f:if condition="{document.isElevated}">
<div class="results-elevated-label">
<s:translate key="sponsored" />
</div>
</f:if>
<div class="card-header">
<div class="align-items-center">
<h2 class="card-title">
<f:if condition="{document.extensionIcon_stringS}">
<img class="ter-ext-icon" alt="{document.title}" src="{document.extensionIcon_stringS}" height="16" width="16">
</f:if>
<a href="{s:uri.result.addSearchWordList(url:document.url, searchWords:resultSet.usedQuery.keywords)}">{document.title}</a>
</h2>
<h4 class="card-subtitle text-muted mb-2">
{document.extensionKey_stringS} /
<span class="ter-ext-state ter-ext-state-{document.extensionState_stringS}">{document.extensionState_stringS}</span>
</h4>
<p>
<f:format.crop maxCharacters="180" respectWordBoundaries="true">
{s:document.highlightResult(resultSet:resultSet, document:document, fieldName:'content')}
</f:format.crop>
</p>
<f:comment>
<small class="text-muted">Updated:
<f:format.date format="m/d/Y H:i">@{document.extensionLastUpload_intS}</f:format.date>
by
<f:format.crop maxCharacters="50">{document.author}</f:format.crop>
</small>
</f:comment>
<h5>Works with TYPO3</h5>
<ul class="list-inline">
<li class="list-inline-item btn btn-{f:if(condition:'{document.supports6_boolS}',then:'success',else:'secondary')}">6.2 LTS</li>
<li class="list-inline-item btn btn-{f:if(condition:'{document.supports7_boolS}',then:'success',else:'secondary')}">7 LTS</li>
<li class="list-inline-item btn btn-{f:if(condition:'{document.supports8_boolS}',then:'success',else:'secondary')}">8 LTS</li>
<li class="list-inline-item btn btn-{f:if(condition:'{document.supports9_boolS}',then:'success',else:'secondary')}">9</li>
</ul>
</div>
</div>
<div class="">
<a class="btn btn-primary btn-block btn-lg" href="{document.extensionDownloadZipUrl_stringS}">
<i class="fa fa-download"></i>
Download version {document.extensionVersion_stringS} as ZIP
</a>
</div>
</li>
</f:section>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"
xmlns:f="http://typo3.org/ns/TYPO3/Fluid/ViewHelpers"
xmlns:s="http://typo3.org/ns/ApacheSolrForTypo3/Solr/ViewHelpers/">
<f:layout name="Main" />
<f:section name="main">
<div id="tx-solr-search">
<f:if condition="{resultSet.isAutoCorrected}">
<f:then>
<span class="searched-for">
<s:translate key="no_results_nothing_found" arguments="{0: resultSet.initialQueryString}">Nothing found for "%s".</s:translate>
<s:translate key="no_results_search_for_original" arguments="{0: resultSet.correctedQueryString}">Search instead for "%s".</s:translate>
</span>
</f:then>
<f:else>
<f:if condition="{resultSet.usedQuery.keywordsCleaned}">
<span class="searched-for">
<s:translate key="results_searched_for" arguments="{0: resultSet.usedQuery.keywordsCleaned}">Searched for "%s"</s:translate>
</span>
</f:if>
</f:else>
</f:if>
<f:if condition="{resultSet.hasSpellCheckingSuggestions}">
<f:then>
<s:translate key="didYouMean">Did you mean</s:translate>
<f:for each="{resultSet.spellCheckingSuggestions}" as="suggestion">
<f:link.page additionalParams="{q:suggestion.suggestion}" noCacheHash="1">{suggestion.suggestion}</f:link.page>
</f:for>
?
</f:then>
</f:if>
<f:if condition="{resultSet.usedSearch.numberOfResults}">
<span class="result-found">
<s:translate key="results_found" arguments="{0:resultSet.usedSearch.numberOfResults, 1: resultSet.usedSearch.queryTime}">Found %d extensions in %d seconds</s:translate>
</span>
</f:if>
<f:if condition="{hasSearched}">
<s:widget.resultPaginate resultSet="{resultSet}" configuration="{templatePath:'EXT:ter_layout/Resources/Private/Templates/Solr/ViewHelpers/Widget/ResultPaginate/Index.html'}">
<ol start="{pagination.displayRangeStart}" class="results-list list-unstyled">
<f:for each="{documents}" as="document" iteration="iterator">
<f:if condition="{iterator.isOdd}">
<div class="card-deck">
</f:if>
<f:render partial="Result/Document" section="Document" arguments="{resultSet:resultSet, document:document}" />
<f:if condition="{iterator.isEven} || {iterator.isLast}">
</div>
</f:if>
</f:for>
</ol>
</s:widget.resultPaginate>
</f:if>
</div>
</f:section>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"
xmlns:f="http://typo3.org/ns/TYPO3/Fluid/ViewHelpers"
xmlns:s="http://typo3.org/ns/ApacheSolrForTypo3/Solr/ViewHelpers/"
data-namespace-typo3-fluid="true">
<f:if condition="{configuration.insertAbove}">
<f:render section="paginator" arguments="{pagination: contentArguments.pagination, configuration:configuration, resultSet:resultSet}" />
</f:if>
<f:renderChildren arguments="{contentArguments}" />
<f:if condition="{configuration.insertBelow}">
<f:render section="paginator" arguments="{pagination: contentArguments.pagination, configuration:configuration, resultSet:resultSet}" />
</f:if>
<f:section name="paginator">
<f:if condition="{pagination.numberOfPages} > 1">
<nav aria-label="Pagination" class="tx-solr-pagination-page-browser">
<ul class="pagination justify-content-center">
<f:if condition="{pagination.previousPage}">
<li class="page-item previous">
<f:if condition="{pagination.previousPage} > 1">
<f:then>
<a href="{s:uri.paginate.resultPage(page: pagination.previousPage)}" class="page-link solr-ajaxified"><s:translate key="paginate_previous">&laquo;</s:translate></a>
</f:then>
<f:else>
<a href="{s:uri.paginate.resultPage()}" class="page-link solr-ajaxified"><s:translate key="paginate_previous">&laquo;</s:translate></a>
</f:else>
</f:if>
</li>
</f:if>
<f:if condition="{pagination.hasLessPages}">
<li class="page-item"><a class="page-link">....</a></li>
</f:if>
<f:for each="{pagination.pages}" as="page">
<f:if condition="{page.isCurrent}">
<f:then>
<li class="page-item active">
<a href="{s:uri.paginate.resultPage()}" class="page-link solr-ajaxified">{page.number}</a>
</li>
</f:then>
<f:else>
<li class="page-item">
<f:if condition="{page.number} > 1">
<f:then>
<a href="{s:uri.paginate.resultPage(page: page.number)}" class="page-link solr-ajaxified">{page.number}</a>
</f:then>
<f:else>
<a href="{s:uri.paginate.resultPage()}" class="page-link solr-ajaxified">{page.number}</a>
</f:else>
</f:if>
</li>
</f:else>
</f:if>
</f:for>
<f:if condition="{pagination.hasMorePages}">
<li class="page-item"><a class="page-link">....</a></li>
</f:if>
<f:if condition="{pagination.nextPage}">
<li class="page-item last next">
<a href="{s:uri.paginate.resultPage(page: pagination.nextPage)}" class="page-link solr-ajaxified"><s:translate key="paginate_next">&raquo;</s:translate></a>
</li>
</f:if>
</ul>
</nav>
</f:if>
</f:section>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment