dachcom-digital / dynamic-search-data-provider-trinity
Package info
github.com/dachcom-digital/pimcore-dynamic-search-data-provider-trinity
Type:dynamic-search-provider-bundle
pkg:composer/dachcom-digital/dynamic-search-data-provider-trinity
Requires
- dachcom-digital/dynamic-search: ^3.0 || ^4.0
- pimcore/pimcore: ^11.0
Requires (Dev)
- codeception/codeception: ^5.0
- codeception/module-symfony: ^3.1
- phpstan/phpstan: ^2.0
- phpstan/phpstan-symfony: ^2.0
- symplify/easy-coding-standard: ~12.2.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Important
This bundle will not be compatible with Pimcore 12 or any future Pimcore versions.
For all future development, updates, and documentation, please refer to opendxp.io:
- Access the latest info here: https://www.opendxp.io/en/bundles
- Migration of Dachcom Digital Bundles: https://www.opendxp.io/en/dachcom-bundles
Note: We are open to partnerships for those interested in porting this bundle to future versions.
For inquiries, please contact: dcdi@dachcom.ch
A data fetch extension for Pimcore Dynamic Search.
Fetch pimcore elements by listings: assets, documents and objects.
Release Plan
| Release | Supported Pimcore Versions | Supported Symfony Versions | Release Date | Maintained | Branch |
|---|---|---|---|---|---|
| 3.x | 11.0 |
^6.4 |
28.09.2023 | Feature Branch | master |
| 2.x | 10.0 - 10.6 |
^5.4 |
19.12.2021 | No | 1.x |
| 1.x | 6.6 - 6.9 |
^4.4 |
18.04.2021 | No | 1.x |
Installation
"require" : { "dachcom-digital/dynamic-search" : "~3.0.0", "dachcom-digital/dynamic-search-data-provider-trinity" : "~3.0.0" }
Dynamic Search Bundle
You need to install / enable the Dynamic Search Bundle first. Read more about it here. After that, proceed as followed:
Add Bundle to bundles.php:
<?php return [ \DsTrinityDataBundle\DsTrinityDataBundle::class => ['all' => true], ];
Publishing State
This Bundle will fetch unpublished elements by default. This is crucial and also a problematic fact. Read more about it here to learn how to handle the publishing state of pimcore elements.
Basic Setup
dynamic_search: context: default: data_provider: service: 'trinity_data' options: always: index_object: true object_class_names: - TestClass index_document: true index_asset: false full_dispatch: object_limit: 20 document_limit: 10 normalizer: service: 'trinity_localized_resource_normalizer'
Provider Options
always
| Name | Default Value | Description |
|---|---|---|
index_asset |
false | |
asset_data_builder_identifier |
true | |
asset_types |
Asset::getTypes(), except folder |
|
asset_additional_params |
[] | |
index_object |
false | |
object_data_builder_identifier |
'default' | |
object_types |
DataObject::getTypes(), except folder |
|
object_class_names |
[] | |
object_additional_params |
[] | |
index_document |
false | |
document_data_builder_identifier |
'default' | |
document_types |
Document::getTypes(), except folder |
|
document_additional_params |
[] |
full_dispatch
| Name | Default Value | Description |
|---|---|---|
asset_limit |
0 | |
object_limit |
0 | |
document_limit |
0 |
Resource Normalizer
trinity_default_resource_normalizer
Scaffold simple documents Options: none
trinity_localized_resource_normalizer
Scaffold localized documents
Options:
| Name | Default Value | Allowed Type | Description |
|---|---|---|---|
locales |
all pimcore enabled languages | array | |
skip_not_localized_documents |
true | bool | if false, an exception rises if a document/object has no valid locale |
Transformer
Scaffolder
TrinityDataScaffolder
Identifier: trinity_data_scaffolder
Simple object scaffolder.
Supported types: Asset, Document, DataObject\Concrete.
Field Transformer
ElementIdExtractor
Identifier: element_id_extractor
Returns id of element
Return Type: string|int|null
Options: none
ElementPropertyExtractor
Identifier: element_property_extractor
Returns element property.
Return Type: string|null
Options:
| Name | Default Value | Allowed Type | Description |
|---|---|---|---|
property |
null | string | |
object_getter |
null | null | string |
allow_inherited_value |
true | bool |
NormalizerValueCallback
Identifier: normalizer_value_callback
Returns given option value.
Return Type: string|null
Options:
| Name | Default Value | Allowed Type | Description |
|---|---|---|---|
value |
null | string |
ObjectGetterExtractor
Identifier: object_getter_extractor
Returns value of object getter.
Return Type: bool|int|float|string|array|null
Options:
| Name | Default Value | Allowed Type | Description |
|---|---|---|---|
method |
id | string | |
arguments |
[] | array | |
clean_string |
true | bool | cleans HTML and whitespace (if value is string) |
transform_callback |
null | null|closure | a callback function for further value transform |
ObjectRelationsGetterExtractor
Identifier: object_relations_getter_extractor
Returns values of object relations getter.
Return Type: array|null
Options:
| Name | Default Value | Allowed Type | Description |
|---|---|---|---|
relations |
null | string | |
method |
id | string | |
arguments |
[] | array |
ObjectPathGenerator
Identifier: object_path_generator
Returns object path generated by link generator.
Return Type: string|null
Options:
| Name | Default Value | Allowed Type | Description |
|---|---|---|---|
arguments |
[] | array | |
fetch_object_for_variant |
false | bool | If true and object is type of variant the next parent gets fetched first until type object has been reached |
DocumentMetaExtractor
Identifier: document_meta_extractor
Returns documents meta title or description.
Return Type: string|null
Options:
| Name | Default Value | Allowed Type | Description |
|---|---|---|---|
type |
title | string | Possible Types: title or description |
DocumentPathGenerator
Identifier: document_path_generator
Returns real full path of document
Return Type: string|null
Options: none
PdfDataExtractor
Identifier: asset_pdf_extractor
Extracts pdf content with ghostscript
Return Type: string|null
Options: none
AssetPathGenerator
Identifier: asset_path_generator
Returns real full path of document
Return Type: string|null
Options: none
Upgrade Info
Before updating, please check our upgrade notes!
License
DACHCOM.DIGITAL AG, Löwenhofstrasse 15, 9424 Rheineck, Schweiz
dachcom.com, dcdi@dachcom.ch
Copyright © 2025 DACHCOM.DIGITAL. All rights reserved.
For licensing details please visit LICENSE.md