CoveoDynamicPlaceholder does not work
I use coveo for sitecore 4.1 and have started creating a hive search page, I was doing it step by step like in the documentation, but after I added seatch interface I found out that the placeholder `@Html.Sitecore().CoveoDynamicPlaceholder("coveo-ui-content", @Model.Id)` does not work. I mean I can not insert any renderings ("add here" button is not displayed and placeholder area is not shown). When I change placeholder to default `@Html.Sitecore().Placeholder` everything works. Log file does not have any errors.
Other renderings with Coveo Dynamic Placeholder does not work too.
Can anyone help with this issue?
We stumbled upon this issue internally.
It looks like the key we are using in our custom Dynamic Placeholder can trigger some existing Dynamic Placeholder, but generates an invalid key that does not match any placeholder.
To fix this, we reordered the `Coveo.UI.Components.ExperienceEditor.Processors.GetDynamicKeyAllowedRenderings` processor from the `Coveo.UI.Components.ExperienceEditor.config` file to be executed _before_ the Dynamic Placeholder module.
Putting it first will ensure that the Coveo Dynamic Placeholder are handled by the Coveo processor. Since our custom implementation is more restrictive, it should not mess with keys created with another module.
We have yet to figure out if there is a permanent fix for this.
As a side note:
Changing to `@Html.Sitecore().Placeholder()` will not work in the long run since it generates the same placeholder when using multiple `Coveo Result List` components, or multiple sections.
I have investigated further on this issue by installing the same package as you.
I thought the issue was coming from the `GetDynamicKeyAllowedRenderings`, but it is caused by the default `GetPlaceholderChromeData` that is *replaced* by a custom one.
The Coveo processor receives a key that is already parsed by the custom processor, so Coveo cannot properly extract the key.
For now, I have a workaround to propose:
Since the dynamic key is generated using the ID of the model, you can modify the DOM Unique Id property on all your components to hard, string values instead of IDs. This will generate a key that looks like `[placeholder]_dynamic_YOURID`, since it will be a string, it will no longer be parsed by the custom processor.
I use Coveo for Sitecore 82 18.104.22.168 and last version of dynamic placeholders.
As I see in change log for 82 22.214.171.124 version
SC-2459Resolved conflict between dynamic placeholder module and Coveo Hive dynamic placeholder.SC-2461Resolved conflict between dynamic placeholders for renderings without
So I made a test:
All have parent dynamic placeholder name, but contain renderings for parent and for the placeholder that should be (I mean for example that the first placeholder should have the name coveo-ui-header-section but has col-huge and has renderings from col-huge placeholder and coveo-ui-header-section placeholder). If I add some coveo renderings with placeholders all placeholder names are correct and work fine.
How can I fix it?