This content has been marked as final. Show 7 replies
Check your Assembler handler configuration, specifically in the CartridgeHandler_ResultsList section. In the discover electronics app, you can find this around line 344 of the reference\discover-electronics\WEB-INF\assembler-context.xml file.
There is some configuration there related to what fields are requested from the Engine, overriding what is specified in the pipeline. The CartridgeHandler then uses this config in a setSelection call to limit what comes back from the engine. If you add your field to that list, you should see it come back.
Thanks for your quick response.
Yes I saw that file but my app is based on ATG CRS (ref app) I deployed the assembler.war app and it does not have an assembler-context.xml.
I am missing something here?
There should be an equivalent configuration somewhere in the application, probably a .properties file.
I'm not sure what your assembler.war refers to (is it your specific project? I have an assemblerSearchResultsSample.war deployed, not sure if that's the same...) but the config should be somewhere in there or along its associated classpath. In the documentation, it mentions a folder with the following structure:
that should be somewhere in your ATG path.
It contains properties files for the various handlers. Assuming that it's a cartridge handler issue (which it might not be), the solution should be there.
To answer your question yes I was meaning assemblerSearchResultsSample.war app.
You are right there is a config file for it. I am not an ATG expert so I forgot that my store inherits settings from other properties files. That is why I was not able to see it within my project.
Thanks so much for your help that was exactly what I was looking for.
Do you know if there is a way to just take the endeca properties flagged to be on the results page? Because in this case if you add an Endeca property from dev studio then you need to adjust that property file. I would want Endeca to drive it.
Edited by: Luc1976 on 2 janv. 2013 13:27
That is a good point Luc, for now I have not seen a way where we make changes in Endeca and the ResultListConfig get's updated automatically.
Can you try and remove any reference to the fieldNames property in your .properties file? If the property comes through as null, it should just default to Endeca configuration.
Now, this might cause the properties file itself to be blank (not sure if ATG will allow that) so you may have to try a few different things (empty file, no file, file with a dummy property) but you should be able to work around it. If all else fails, you should be able to add a "harmless" property such as whyMatchEnabled=false.
This is a good idea and seems like it should be there. I think you can do this yourself as an extension but you'd probably have to run it as some kind of "post-forge" step in your update process. You could take the [YOUR_APP_NAME].render_config.xml from the data\forge_output as an input and output the .properties file for distribution to your web server. For your reference, the render_config looks something like this:
<RENDER NAME="product.id" RENDER_PROD_LIST="TRUE" RENDER_PROD_PAGE="TRUE"/>
<RENDER NAME="product.short_desc" RENDER_PROD_LIST="TRUE" RENDER_PROD_PAGE="TRUE"/>
So, for each matching XML Node for /RENDER_CONFIG/RENDER[@RENDER_PROD_LIST='TRUE'] in your input file, you would output the property name into the config.
Hope that helps,
Thank you both for your help.
I did try to set fieldnames=<nothing> or to just add an harmless property but without success. If you don't specify the fieldNames property it will inherit what ever is specify in the <ATG_INTALL_FOLDER>\DAF\Endeca\Assembler\config\config.jar/atg/endeca/assembler/cartridge/handler/config/ResultsListConfig.properties
But at least my problem is solved.