Panels currently does not enforce unique id's and this can indirectly cause PHP errors (and of course invalid (X)HTML).

Where/how does this happen?
1. Create a mini panel.
2. Put the mini panel in the sidebar.
3. Go to the preview tab for the mini panel, while the mini panel is also being displayed in the side bar. Both will have the same id.

How can this cause PHP errors?
If you are using a panel style, it may use drupal_add_js to send style settings to the Javascript part. It's fairly common to have an array of IDs and for each of those IDs an array or string of settings.
Now, if you have duplicate IDs, you will get an array_merge_recursive() error, for the drupal_add_js function.

This can be solved by checking for duplicate IDs in the style plugin implementation, but it should happen in Panels itself.

Comments

merlinofchaos’s picture

I believe this is only true during preview, actually, because the preview doesn't have access to the static id cache that the actual content type is using.

merlinofchaos’s picture

Status: Active » Fixed

Fixed in -dev.

Anonymous’s picture

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for two weeks with no activity.