first commit

This commit is contained in:
Sven Wappler
2021-04-17 00:26:33 +02:00
commit 866c63cc63
813 changed files with 100696 additions and 0 deletions

View File

@@ -0,0 +1,56 @@
<f:if condition="{indexFieldsInfoForCore.noError}">
<f:if condition="{indexFieldsInfoForCore.coreMetrics.numberOfDocuments}">
<f:then>
<div class="row core-metrics">
<div class="col-md-4">
<div class="well text-center">
<p>{indexFieldsInfoForCore.coreMetrics.numberOfDocuments}</p>
<h3>Documents</h3>
</div>
</div>
<div class="col-md-4">
<div class="well text-center">
<p>{indexFieldsInfoForCore.coreMetrics.numberOfDeletedDocuments}</p>
<h3>Deleted Documents</h3>
</div>
</div>
<div class="col-md-4">
<div class="well text-center">
<p>{indexFieldsInfoForCore.coreMetrics.numberOfFields}</p>
<h3>Fields</h3>
</div>
</div>
</div>
<table class="table table-condensed table-hover table-striped">
<thead>
<tr class="t3-row-header">
<th>Field Name</th>
<th>Index Field Type</th>
<th># Documents</th>
<th>Distinct Terms</th>
</tr>
</thead>
<tbody>
<f:for each="{indexFieldsInfoForCore.fields}" as="field">
<tr>
<td>{field.name}</td>
<td>{field.type}</td>
<td>{field.docs}</td>
<td>{field.terms}</td>
</tr>
</f:for>
</tbody>
</table>
</f:then>
<f:else>
<div class="well">
<p>Your index in "{indexFieldsInfoForCore.corePath}" is empty.</p>
</div>
</f:else>
</f:if>
</f:if>

View File

@@ -0,0 +1,51 @@
{namespace solr=WapplerSystems\Meilisearch\ViewHelpers\Backend}
<f:if condition="{document}">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">
<a href="#panel-group4document-id-{document.fields._version_}" data-toggle="collapse">Title: {document.fields.title}</a>
<a href="#panel-group4document-id-{document.fields._version_}" title="Collapse table" class="pull-right" data-toggle="collapse">
<core:icon identifier="actions-view-list-expand" size="small"/><f:comment><!-- @todo: make Icon toggable between actions-view-list-collapse/actions-view-list-expand --></f:comment>
</a>
</h3>
</div>
<div id="panel-group4document-id-{document.fields._version_}" class="panel-collapse collapse {f:if(condition: '{documentsCount} < 2', then: 'in', else: '')}">
<div class="panel-body">
<table class="table table-condensed table-hover table-striped">
<thead><tr><th>Fieldname</th><th>Value</th></tr></thead>
<tbody id="document-tbody-pid-{document.fields.uid}">
<f:render section="Rows" arguments="{tableRows: document.fields, document: document}"/>
</tbody>
</table>
</div>
</div>
</div>
</f:if>
<f:section name="Rows">
<f:for each="{tableRows}" key="tableRowFiledName" as="tableRowValue" >
<tr>
<th scope="row">{tableRowFiledName}</th>
<solr:isString value="{tableRowValue}">
<f:then>
<td>{tableRowValue}</td>
</f:then>
<f:else>
<td>
<f:render section="SubTable" arguments="{tableRows: tableRowValue}"/>
</td>
</f:else>
</solr:isString>
</tr>
</f:for>
</f:section>
<f:section name="SubTable">
<table class="table table-condensed table-hover table-striped table-bordered">
<thead><tr><th>Fieldname</th><th>Value</th></tr></thead>
<tbody>
<f:render section="Rows" arguments="{tableRows: tableRows}"/>
</tbody>
</table>
</f:section>

View File

@@ -0,0 +1 @@
<f:flashMessages />

View File

@@ -0,0 +1,34 @@
<f:if condition="{showSelectOtherPage}">
<f:then>
<f:be.infobox title="No site could be found." state="3">
<p>Please choose other page in the page tree, which has solr configured.</p>
</f:be.infobox>
</f:then>
<f:else>
<p>When all of these steps are done check this module again.</p>
<f:be.infobox title="There is no site configured for your solr extension!" state="3">
<p>Please check the following:</p>
<p>If you want to use solr with the TYPO3 site configuration:</p>
<ul>
<li>Your site has a page, marked as root page.</li>
<li>Configure EXT:meilisearch with the TYPO3 site module.</li>
<li>Check the reports module if any solr error is shown.</li>
</ul>
<hr />
<p><strong>OR</strong></p>
<hr />
<p>If you want to use solr with the legacy configuration (domain record and typoscript of EXTCONF setup):</p>
<ul>
<li>Your site has a domain configured, please create a domain record on the root page, or configure it in "TYPO3_CONF_VARS|EXTCONF|solr|sites|###rootPageId###|domains"</li>
<li>Your site has a page, marked as root page.</li>
<li>Your page has included the solr typoscript configuration.</li>
<li>You've initialized the solr connections in the backend with the menu item "Initialize solr connections"</li>
<li>Afterwards please check if the reports module is showing any errors.</li>
</ul>
</f:be.infobox>
</f:else>
</f:if>

View File

@@ -0,0 +1,9 @@
<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"
>
<em>Unknown facet type for {facet.name}</em>
</html>

View File

@@ -0,0 +1,30 @@
<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:section name="hierarchyTree">
<f:for each="{node.childNodes}" as="childNode" iteration="iteration">
<div class="facet-option{f:if(condition:'{iteration.index} > 9', then:' tx-solr-facet-hidden')} list-group-item" data-facet-item-value="{childNode.value}">
<a class="facet solr-ajaxified" href="{s:uri.facet.addFacetItem(facet: facet, facetItem: childNode)}">{childNode.label}</a>
<span class="facet-result-count badge">{childNode.documentCount}</span>
</div>
<f:if condition="{childNode.childNodes}">
<div class="list-group-item list-group"><f:render section="hierarchyTree" arguments="{node: childNode, facet: facet}" /></div>
</f:if>
</f:for>
</f:section>
<div class="panel">
<div class="panel-heading">
<h3 class="facet-label panel-title">
<span class="glyphicon glyphicon-filter"></span>
<a data-toggle="collapse" data-parent="#facet-accordion{facet.name}" href="#facet{facet.name}">{facet.label}</a>
</h3>
</div>
<div class="facet-option-list facet-type-hierarchy fluidfacet list-group panel-collapse collapse" data-facet-name="{facet.name}" data-facet-label="{facet.label}" id="facet{facet.name}">
<f:render section="hierarchyTree" arguments="{node: facet, facet: facet}" />
</div>
</div>
</html>

View File

@@ -0,0 +1,32 @@
<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"
>
<div class="panel">
<div class="panel-heading">
<h3 class="facet-label panel-title">
<span class="glyphicon glyphicon-filter"></span>
<a data-toggle="collapse" data-parent="#facet-accordion{facet.name}" href="#facet{facet.name}">{facet.label}</a>
</h3>
</div>
<div class="facet-option-list facet-type-options fluidfacet list-group panel-collapse collapse" data-facet-name="{facet.name}" data-facet-label="{facet.label}" id="facet{facet.name}">
<f:for each="{facet.options}" as="option" iteration="iteration">
<div class="list-group-item facet-option{f:if(condition:'{iteration.index} > 9', then:' tx-solr-facet-hidden')}" data-facet-item-value="{option.value}">
<a class="facet solr-ajaxified" href="{s:uri.facet.addFacetItem(facet: facet, facetItem: option)}">{option.label}</a> <span class="facet-result-count badge">{option.documentCount}</span>
</div>
</f:for>
<f:if condition="{facet.options -> f:count()} > 10">
<div class="list-group-item">
<a href="#" class="tx-solr-facet-show-all" data-label-more="{s:translate(key:'faceting_showMore', extensionName:'solr')}" data-label-less="{s:translate(key:'faceting_showFewer', extensionName:'solr')}">
<s:translate key="faceting_showMore" extensionName="solr">Show more</s:translate>
</a>
</div>
</f:if>
</div>
</div>
</html>

View File

@@ -0,0 +1,40 @@
<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"
>
<div class="panel">
<div class="panel-heading">
<h3 class="facet-label panel-title">
<span class="glyphicon glyphicon-filter"></span>
<a data-toggle="collapse" data-parent="#facet-accordion{facet.name}" href="#facet{facet.name}">{facet.label}</a>
</h3>
</div>
<div class="panel-collapse collapse" id="facet{facet.name}">
<div class="form-group">
<input id="facetfilter{facet.name}" class="form-control facet-filter-box" type="search" placeholder="{s:translate(key: 'faceting_filter', default: 'Filter')}..." />
</div>
<div class="facet-option-list facet-type-options fluidfacet list-group" data-facet-name="{facet.name}" data-facet-label="{facet.label}" id="facet-data{facet.name}">
<f:for each="{facet.options}" as="option" iteration="iteration">
<div class="list-group-item facet-filter-item facet-option{f:if(condition:'{iteration.index} > 9', then:' tx-solr-facet-hidden')}" data-facet-item-value="{option.value}">
<a class="facet solr-ajaxified" href="{s:uri.facet.addFacetItem(facet: facet, facetItem: option)}">{option.label}</a> <span class="facet-result-count badge">{option.documentCount}</span>
</div>
</f:for>
<f:if condition="{facet.options -> f:count()} > 10">
<div class="list-group-item">
<a href="#" class="tx-solr-facet-show-all" data-label-more="{s:translate(key:'faceting_showMore', extensionName:'solr')}" data-label-less="{s:translate(key:'faceting_showFewer', extensionName:'solr')}">
<s:translate key="faceting_showMore" extensionName="solr">Show more</s:translate>
</a>
</div>
</f:if>
</div>
</div>
</div>
</html>

View File

@@ -0,0 +1,50 @@
<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"
>
<div class="panel">
<div class="panel-heading">
<h3 class="facet-label panel-title">
<span class="glyphicon glyphicon-filter"></span>
<a data-toggle="collapse" data-parent="#facet-accordion{facet.name}" href="#facet{facet.name}">{facet.label}</a>
</h3>
</div>
<div class="facet-option-list facet-type-options fluidfacet panel-collapse collapse" data-facet-name="{facet.name}" data-facet-label="{facet.label}" id="facet{facet.name}">
<s:facet.options.group.prefix.labelPrefixes options="{facet.options}" length="1" sortBy="alpha">
<!-- build tabs-->
<ul class="nav nav-tabs prefixgroup-tabs" role="tablist">
<f:for each="{prefixes}" iteration="iteration" as="prefix">
<li role="presentation" class="{f:if(condition:'{iteration.index} == 0', then:'active')}"><a href="#tab_{prefix}" aria-controls="tab_{prefix}" role="tab" data-toggle="tab">{prefix}</a></li>
</f:for>
</ul>
<!-- build tab contents -->
<div class="tab-content">
<f:for each="{prefixes}" iteration="iteration" as="prefix">
{key}
<div role="tabpanel" class="tab-pane panel{f:if(condition:'{iteration.index} == 0', then:' active')}" id="tab_{prefix}">
<s:facet.options.group.prefix.labelFilter options="{facet.options}" prefix="{prefix}">
<div class="list-group">
<f:for each="{filteredOptions}" as="option">
<div class="facet-option list-group-item" data-facet-item-value="{option.value}">
<a class="facet solr-ajaxified" href="{s:uri.facet.addFacetItem(facet: facet, facetItem: option)}">{option.label}</a>
<span class="facet-result-count badge">
{option.documentCount}
</span>
</div>
</f:for>
</div>
</s:facet.options.group.prefix.labelFilter>
</div>
</f:for>
</div>
</s:facet.options.group.prefix.labelPrefixes>
</div>
</div>
</html>

View File

@@ -0,0 +1,29 @@
<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"
>
<div class="panel">
<div class="panel-heading">
<h3 class="facet-label panel-title">
<span class="glyphicon glyphicon-filter"></span>
<a data-toggle="collapse" data-parent="#facet-accordion{facet.name}" href="#facet{facet.name}">{facet.label}</a>
</h3>
</div>
<div class="facet-option-list facet-type-options fluidfacet list-group panel-collapse collapse" data-facet-name="{facet.name}" data-facet-label="{facet.label}" id="facet{facet.name}">
<f:for each="{facet.options}" as="option" iteration="iteration">
<div class="list-group-item facet-option{f:if(condition:'{iteration.index} > 9', then:' tx-solr-facet-hidden')}" data-facet-item-value="{option.value}">
<a class="facet solr-ajaxified" href="{s:uri.facet.setFacetItem(facet: facet, facetItem: option)}">{option.label}</a> <span class="facet-result-count">({option.documentCount})</span>
</div>
</f:for>
<f:if condition="{facet.options -> f:count()} > 10">
<div class="list-group-item">
<a href="#" class="tx-solr-facet-show-all" data-label-more="{s:translate(key:'faceting_showMore', extensionName:'solr')}" data-label-less="{s:translate(key:'faceting_showFewer', extensionName:'solr')}">
<s:translate key="faceting_showMore" extensionName="solr">Show more</s:translate>
</a>
</div>
</f:if>
</div>
</div>
</html>

View File

@@ -0,0 +1,41 @@
<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"
>
<div class="panel">
<div class="panel-heading">
<h3 class="facet-label panel-title">
<span class="glyphicon glyphicon-filter"></span>
<a data-toggle="collapse" data-parent="#facet-accordion{facet.name}" href="#facet{facet.name}">{facet.label}</a>
</h3>
</div>
<div class="facet-option-list facet-type-options fluidfacet list-group panel-collapse collapse" data-facet-name="{facet.name}" data-facet-label="{facet.label}" id="facet{facet.name}">
<f:for each="{facet.options}" as="option" iteration="iteration">
<f:if condition="{option.selected}">
<f:then>
<div class="list-group-item facet-option{f:if(condition:'{iteration.index} > 9', then:' tx-solr-facet-hidden')}" data-facet-item-value="{option.value}">
<a class="facet solr-ajaxified active" href="{s:uri.facet.removeFacetItem(facet: facet, facetItem: option)}">{option.label}</a>
<span class="facet-result-count badge">{option.documentCount}</span>
</div>
</f:then>
<f:else>
<div class="list-group-item facet-option{f:if(condition:'{iteration.index} > 9', then:' tx-solr-facet-hidden')}" data-facet-item-value="{option.value}">
<a class="facet solr-ajaxified" href="{s:uri.facet.addFacetItem(facet: facet, facetItem: option)}">{option.label}</a>
<span class="facet-result-count badge">{option.documentCount}</span>
</div>
</f:else>
</f:if>
</f:for>
<f:if condition="{facet.options -> f:count()} > 10">
<div class="list-group-item">
<a href="#" class="tx-solr-facet-show-all" data-label-more="{s:translate(key:'faceting_showMore', extensionName:'solr')}" data-label-less="{s:translate(key:'faceting_showFewer', extensionName:'solr')}">
<s:translate key="faceting_showMore" extensionName="solr">Show more</s:translate>
</a>
</div>
</f:if>
</div>
</div>
</html>

View File

@@ -0,0 +1,41 @@
<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"
>
<div class="panel">
<div class="panel-heading">
<h3 class="facet-label panel-title">
<span class="glyphicon glyphicon-filter"></span>
<a data-toggle="collapse" data-parent="#facet-accordion{facet.name}" href="#facet{facet.name}">{facet.label}</a>
</h3>
</div>
<div class="panel-collapse collapse" id="facet{facet.name}">
<div class="facet-option-list fluidfacet facet-type-dateRange"
data-facet-name="{facet.name}"
data-facet-label="{facet.label}"
data-range-min="{facet.range.startInResponse}"
data-range-max="{facet.range.endInResponse}"
data-range-min-selected="{facet.range.startRequested}"
data-range-max-selected="{facet.range.endRequested}"
data-range-gap="{facet.range.gap}"
data-facet-url="{s:uri.facet.setFacetItem(facet: facet, facetItemValue: '___FROM___-___TO___')}"
>
<input type="hidden" value="{s:uri.facet.addFacetItem(facet: facet, facetItemValue: '___FROM___-___TO___')}" id="created_url">
<div class="row panel">
<div class="col-sm-6">
<input type="text" class="dateselector form-control" id="start_date_created">
</div>
<div class="col-sm-6">
<input type="text" class="dateselector form-control" id="end_date_created">
</div>
</div>
</div>
</div>
</div>
</html>

View File

@@ -0,0 +1,36 @@
<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"
>
<div class="panel">
<div class="panel-heading">
<h3 class="facet-label panel-title">
<span class="glyphicon glyphicon-filter"></span>
<a data-toggle="collapse" data-parent="#facet-accordion{facet.name}" href="#facet{facet.name}">{facet.label}</a>
</h3>
</div>
<div class="panel-collapse collapse" id="facet{facet.name}">
<div class="fluidfacet facet-type-numericRange-data"
data-facet-name="{facet.name}"
data-facet-label="{facet.label}"
data-range-min="{facet.range.startInResponse}"
data-range-max="{facet.range.endInResponse}"
data-range-min-selected="{facet.range.startRequested}"
data-range-max-selected="{facet.range.endRequested}"
data-range-gap="{facet.range.gap}"
data-facet-url="{s:uri.facet.setFacetItem(facet: facet, facetItemValue: '___FROM___-___TO___')}"
>
</div>
<div id="facet-{facet.name}-value">
<f:if condition="{facet.isUsed}">
<f:then>{facet.range.startRequested} - {facet.range.endRequested}</f:then>
<f:else>{facet.range.startInResponse} - {facet.range.endInResponse}</f:else>
</f:if>
</div>
</div>
</div>
</html>

View File

@@ -0,0 +1,30 @@
<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:section name="hierarchyTree">
<f:for each="{node.childNodes}" as="childNode" iteration="iteration">
<div class="facet-option{f:if(condition:'{iteration.index} > 9', then:' tx-solr-facet-hidden')} list-group-item" data-facet-item-value="{childNode.value}">
<a class="facet solr-ajaxified" href="{s:uri.facet.addFacetItem(facet: facet, facetItem: childNode)}"><f:cObject typoscriptObjectPath="lib.tx_meilisearch.pagetitle">{childNode.label}</f:cObject></a>
<span class="facet-result-count badge">{childNode.documentCount}</span>
</div>
<f:if condition="{childNode.childNodes}">
<div class="list-group-item list-group"><f:render section="hierarchyTree" arguments="{node: childNode, facet: facet}" /></div>
</f:if>
</f:for>
</f:section>
<div class="panel">
<div class="panel-heading">
<h3 class="facet-label panel-title">
<span class="glyphicon glyphicon-filter"></span>
<a data-toggle="collapse" data-parent="#facet-accordion{facet.name}" href="#facet{facet.name}">{facet.label}</a>
</h3>
</div>
<div class="facet-option-list facet-type-hierarchy fluidfacet list-group panel-collapse collapse" data-facet-name="{facet.name}" data-facet-label="{facet.label}" id="facet{facet.name}">
<f:render section="hierarchyTree" arguments="{node: facet, facet: facet}" />
</div>
</div>
</html>

View File

@@ -0,0 +1,48 @@
<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">
<div class="list-group-item search-result results-entry{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="row">
<div class="col-md-10">
<h3 class="results-topic"><a href="{s:uri.result.addSearchWordList(url:document.url, searchWords:resultSet.usedQuery.query)}">{document.title}</a></h3>
</div>
<div class="col-md-2">
<f:render partial="Result/RelevanceBar" section="RelevanceBar" arguments="{resultSet:resultSet, document:document}" />
</div>
</div>
<div class="results-teaser">
<p class="result-content">{s:document.highlightResult(resultSet:resultSet, document:document, fieldName:'content')}</p>
<f:if condition="{document.type} == 'tx_meilisearch_file'">
<p>
<s:translate key="file_mimetype" />: {document.fileMimeType}<br />
<s:translate key="file_referenced" />:
<ul class="references">
<f:if condition="{document.fileReferenceUrl}">
<li><f:link.typolink title="{document.fileReferenceTitle}" parameter="{document.fileReferenceUrl}">{document.fileReferenceTitle}</f:link.typolink></li>
</f:if>
<f:if condition="{document.variants}">
<f:for each="{document.variants}" as="variant">
<li><f:link.typolink title="{variant.fileReferenceTitle}" parameter="{variant.fileReferenceUrl}">{variant.fileReferenceTitle}</f:link.typolink></li>
</f:for>
</f:if>
</ul>
</p>
</f:if>
<s:debug.documentScoreAnalyzer document="{document}" />
</div>
</div>
</f:section>

View File

@@ -0,0 +1,22 @@
<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="Facets">
<div id="tx-solr-faceting">
<s:facet.area.group groupName="main" facets="{resultSet.facets.available}">
<div class="facet-area-main">
<div class="solr-facets-available secondaryContentSection">
<div class="facets">
<f:for each="{areaFacets}" as="facet">
<div class="facet facet-type facet-type-{facet.type} panel-group" id="facet-accordion-{facet.name}">
<f:render partial="Facets/{facet.partialName}" arguments="{resultSet:resultSet, facet:facet}"/>
</div>
</f:for>
</div>
</div>
</div>
</s:facet.area.group>
</div>
</f:section>

View File

@@ -0,0 +1,23 @@
<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="FacetsActive">
<f:if condition="{resultSet.facets.used -> f:count()}">
<div id="tx-solr-facets-in-use">
<s:translate key="faceting_resultsNarrowedBy">Narrowed by</s:translate>:
<f:for each="{resultSet.facets.used}" as="facet">
<f:for each="{facet.allFacetItems.selected}" as="item">
<a href="{s:uri.facet.removeFacetItem(facet: facet, facetItem: item)}" class="facet remove-facet-option solr-ajaxified btn btn-circle">
{facet.label}: {item.label}
<i class="glyphicon glyphicon-remove"></i>
</a>
</f:for>
</f:for>
<a href="{s:uri.facet.removeAllFacets()}" class="solr-ajaxified btn btn-circle">
<s:translate key="faceting_removeAllFilters">Remove all filters</s:translate>
<i class="glyphicon glyphicon-remove"></i>
</a>
</div>
</f:if>
</f:section>

View File

@@ -0,0 +1,19 @@
<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="PerPage">
<div id="results-per-page">
<form method="post" action="{s:uri.search.currentSearch()}">
<s:translate key="results_per_page">Per page:</s:translate>
<select name="{resultSet.usedSearchRequest.argumentNameSpace}[resultsPerPage]" onchange="this.form.submit()">
<f:for each="{resultSet.usedSearchRequest.contextTypoScriptConfiguration.searchResultsPerPageSwitchOptionsAsArray}" as="availablePerPage">
<f:if condition="{availablePerPage}=={resultSet.usedResultsPerPage}">
<f:then><option selected="selected" value="{availablePerPage}">{availablePerPage}</option></f:then>
<f:else><option value="{availablePerPage}">{availablePerPage}</option></f:else>
</f:if>
</f:for>
</select>
</form>
</div>
</f:section>

View File

@@ -0,0 +1,18 @@
<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="RelevanceBar">
<div class="relevance hidden-xs">
<s:translate key="relevance" />:
<div class="progress" style="max-width: 100px; height: 5px;">
<div class="progress-bar" role="progressbar" aria-valuenow="{s:document.relevance(resultSet:resultSet, document:document)}" aria-valuemin="0" aria-valuemax="100" style="width: {s:document.relevance(resultSet:resultSet, document:document)}%;">
</div>
</div>
</div>
</f:section>
</html>

View File

@@ -0,0 +1,48 @@
<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="Sorting">
<div id="tx-solr-sorting" class="secondaryContentSection dropdown">
<button class="btn btn-default dropdown-toggle" type="button" id="sortDropDown" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
<span class=" glyphicon glyphicon-sort"></span>
<s:translate key="sorting_sortBy">Sorting</s:translate>
<span class="caret"></span>
</button>
<ul class="dropdown-menu" aria-labelledby="sortDropDown">
<f:for each="{resultSet.sortings}" as="sorting">
<f:if condition="{sorting.isResetOption}">
<f:then>
<li>
<a href="{s:uri.sorting.removeSorting()}" class="solr-ajaxified">{sorting.label}</a>
</li>
</f:then>
<f:else>
<f:if condition="{sorting.selected}">
<f:then>
<li class="active">
<a href="{s:uri.sorting.setSorting(sortingName: sorting.name, sortingDirection: sorting.oppositeDirection)}" class="solr-ajaxified">
<f:if condition="{sorting.isAscDirection}">
<f:then><span class=" glyphicon glyphicon-arrow-up pull-right"></span></f:then>
<f:else><span class=" glyphicon glyphicon-arrow-down pull-right"></span></f:else>
</f:if>
<span>{sorting.label}</span>
</a>
</li>
</f:then>
<f:else>
<li>
<a href="{s:uri.sorting.setSorting(sortingName: sorting.name, sortingDirection: sorting.direction)}" class="solr-ajaxified">{sorting.label}</a>
</li>
</f:else>
</f:if>
</f:else>
</f:if>
</f:for>
</ul>
</div>
</f:section>

View File

@@ -0,0 +1,32 @@
<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="Form">
<div class="tx-solr-search-form">
<s:searchForm id="tx-solr-search-form-pi-results" additionalFilters="{additionalFilters}" suggestHeader="{s:translate(key:'suggest_header',default:'Top Results')}">
<div class="input-group">
<f:for each="{existingParameters}" key="name" as="value">
<f:form.hidden name="{pluginNamespace}{name}" value="{value}" />
</f:for>
<f:if condition="{addPageAndLanguageId}">
<input type="hidden" name="L" value="{languageUid}" />
<input type="hidden" name="id" value="{pageUid}" />
</f:if>
<input type="text" class="tx-solr-q js-solr-q tx-solr-suggest tx-solr-suggest-focus form-control" name="{pluginNamespace}[q]" value="{q}" />
<span class="input-group-btn">
<button class="btn btn-default tx-solr-submit" type="submit">
<span class=" glyphicon glyphicon-search"></span>
<span>
<s:translate key="submit">Search</s:translate>
</span>
</button>
</span>
</div>
</s:searchForm>
</div>
</f:section>

View File

@@ -0,0 +1,34 @@
<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="FrequentlySearched">
<s:widget.frequentlySearched>
<f:if condition="{frequentSearches}">
<div id="tx-solr-frequent-searches" class="secondaryContentSection panel">
<div class="panel-heading">
<h3 class="panel-title">
<span class="glyphicon glyphicon-fire"></span>
<a data-toggle="collapse" data-parent="#accordion" href="#frequendSearches"><s:translate key="frequentSearches">Frequently searched</s:translate></a>
</h3>
</div>
<div class="list-group panel-collapse collapse" id="frequendSearches">
<div class="panel-body">
<ul>
<f:for each="{frequentSearches}" as="searchedForInfo">
<li class="{searchedForInfo.class}">
<a href="{s:uri.search.startNewSearch(queryString: searchedForInfo.q)}" class="solr-ajaxified">{searchedForInfo.q}</a>
</li>
</f:for>
</ul>
</div>
</div>
</div>
</f:if>
</s:widget.frequentlySearched>
</f:section>
</html>

View File

@@ -0,0 +1,35 @@
<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="LastSearches">
<s:widget.lastSearches>
<f:if condition="{lastSearches}">
<div id="tx-solr-lastsearches" class="secondaryContentSection panel">
<div class="panel-heading">
<h3 class="panel-title">
<span class="glyphicon glyphicon-time"></span>
<a data-toggle="collapse" data-parent="#accordion" href="#lastSearches">
<s:translate key="lastSearches">Last searches</s:translate>
</a>
</h3>
</div>
<div class="list-group panel-collapse collapse" id="lastSearches">
<div class="panel-body">
<f:for each="{lastSearches}" as="searchedFor">
<li class="list-group-item">
<a href="{s:uri.search.startNewSearch(queryString: searchedFor)}" class="solr-ajaxified">{searchedFor}</a>
</li>
</f:for>
</div>
</div>
</div>
</f:if>
</s:widget.lastSearches>
</f:section>
</html>