h4ck3r31 / solr-utility
This TYPO3 extension provides several utilities for ext:solr
Installs: 63
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 1
Open Issues: 0
Type:typo3-cms-extension
Requires
- typo3/cms-core: ^7.6 || ^8.6
This package is auto-updated.
Last update: 2024-11-16 20:23:43 UTC
README
Content Objects
SOLR_BASECATEGORY
Fetches the next level cateogry titles of a given base category.
Properties
baseId
(int, required): Defines the base ID ofsys_category
to retrieve the next level children fromremoveEmptyValues
(bool, default: true): Whether to remove items that don't have a category titlemultiValue
(bool, default: true): Whether to return a multivalued arraysingleValueGlue
(string, default: ","): Which character to use to concatenate multiple category titles in casemultiValue
is disabledfilterIds
(int-list): Defines which category IDs to keep in the final result of resolved base categoriesexcludeIds
(int-list): Defines which category IDs to exclude from the final result of resolved base categories - takes precedence overfilterIds
concerning values that are present for both properties
Example
Given the following category tree, the SOLR_BASECATEGORY
content object
invoked for baseId=1
would fetch the category titles of the next level
below the submitted base category - in this example the result would be
["News", "Products", "Events", "Press"]
only.
- 1: Base Categories
- 11: News
- 12: Products
- 121: New Products
- 122: Products on Sale
- 13: Events
- 14: Press
- 2: Product Categories
- 21: Software
- 23: Books
plugin.tx_solr.index.queue {
pages {
fields {
baseCategory_stringM = SOLR_BASECATEGORY
baseCategory_stringM {
baseId = 1
localField = categories
multiValue = 1
# both filterIds and excludeIds
# result in "Press" being ignored
filterIds = 11,12,13
excludeIds = 14
}
Example of fetching next level category titles of base category with uid=1
Indexing
Ignore page ID constraints
Ignore page ID constraints on indexing entities that are not accessible per
default, like e.g. indexing sys_file
items on root-page (pid=0
).
plugin.tx_solr.index.queue {
document {
table = sys_file
additionalWhereClause = storage=1 AND identifier LIKE '/public-downloads/%'
initialization = GMK\BezirkOberfranken\Alternatives\Solr\DocumentInitializer
Example of indexing files of storage 1
below folder /public-downloads/
Prevent non-translated pages being indexes
Prevents pages being indexed multiple times if no page translation is available.
This prevents rendering the content fall-back mode for sys_language_uid=0
with
having a real language in the request.
plugin.tx_solr.index.queue {
pages {
indexer = H4ck3r31\SolrUtility\IndexQueue\PreventNonTranslatedPageIndexer
Example of preventing non-translated pages get indexed in content fall-back mode