-
-
Notifications
You must be signed in to change notification settings - Fork 249
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] Configuring tx_solr[q] as speaking URL part crashes faceting #2984
Comments
I have a similar problem and this BugFix works |
But i think you must also change to $hash = md5($pageUid . json_encode($structure). json_encode($values)); |
dkd-friedrich
pushed a commit
to dkd-friedrich/ext-solr
that referenced
this issue
Sep 20, 2023
When there are route enhancers defined for a page containing the Solr search plugin, e.g. to realize pretty URLs for the search term, filters or pagination, there are issues with the URI caching that utilizes placeholders. Route Enhancers should specify the expected format using the requirements setting of the route enhancer parameters. This will then lead to an exception, which is caught and will then proceed the URI building with the original arguments instead of the placeholder arguments. Ports: TYPO3-Solr#3562 Resolves: TYPO3-Solr#2984
dkd-friedrich
pushed a commit
to dkd-friedrich/ext-solr
that referenced
this issue
Sep 20, 2023
When there are route enhancers defined for a page containing the Solr search plugin, e.g. to realize pretty URLs for the search term, filters or pagination, there are issues with the URI caching that utilizes placeholders. Route Enhancers should specify the expected format using the requirements setting of the route enhancer parameters. This will then lead to an exception, which is caught and will then proceed the URI building with the original arguments instead of the placeholder arguments. Ports: TYPO3-Solr#3562 Resolves: TYPO3-Solr#2984
dkd-friedrich
pushed a commit
that referenced
this issue
Sep 20, 2023
When there are route enhancers defined for a page containing the Solr search plugin, e.g. to realize pretty URLs for the search term, filters or pagination, there are issues with the URI caching that utilizes placeholders. Route Enhancers should specify the expected format using the requirements setting of the route enhancer parameters. This will then lead to an exception, which is caught and will then proceed the URI building with the original arguments instead of the placeholder arguments. Resolves: #2984
dkd-friedrich
pushed a commit
that referenced
this issue
Sep 20, 2023
When there are route enhancers defined for a page containing the Solr search plugin, e.g. to realize pretty URLs for the search term, filters or pagination, there are issues with the URI caching that utilizes placeholders. Route Enhancers should specify the expected format using the requirements setting of the route enhancer parameters. This will then lead to an exception, which is caught and will then proceed the URI building with the original arguments instead of the placeholder arguments. Ports: #3562 Resolves: #2984
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Our customer wanted to have the search param as part of the uri speaking. After introducing the faceting didn't work and produced bad link requests.
Steps to reproduce the behavior:
Configure a page with a Route enhancement for search query:
Search is now callable like
With active faceting the generated links for toggling will look like this:
As you see, the building structure and replacement of the placeholders could not work, because of url encoding the # to %23.
Expected behavior
Clean search URLs with speaking parameters like:
Used versions:
Additional context
After debugging I found one line changing could solve the problem, but I am not sure, if this will fit to all cases.
Inside solr/Classes/Domain/Search/Uri/SearchUriBuilder.php, method buildLinkWithInMemoryCache the xtbase URI-Builder gets $structure as arguments, but $arguments is useful, too, since Extbase UriBuilder can accept multiple associative arrays, too.
changing
to
solved the problem for me.
The text was updated successfully, but these errors were encountered: