How to reproduce:

  1. A content type which is panelized.
  2. Create a new node of this content type.
  3. Change the panelizer settings "allowed content" for the content type to allow something new
  4. Try to add this new on the recently created node
  5. This will not work, because the new settings will not be added to nodes created before the change.
  6. Neither will "Clear the cache" or "Just save the node again" help in this problem, a NEW node will have to be created.

What if one afterwards adds some functionality for a panelized node, and then there already exists 20000 nodes, one does not want create new nodes for all these to allow the new functionality to be added to them!

Comments

merlinofchaos’s picture

Hm. I'm not sure about this; the allowed content settings are global and aren't stored local to the node. (This isn't true for a whole bunch of other settings, but allowed content is.) That means there's either user error or some kind of caching error somewhere.

jisuo’s picture

I have this same bug and was about to create an issue, but then I saw this.

For example I changed something in the panelizer settings "allowed content" and they won't show up on content already created.

I have tried clearing the cache using the one in Config > Performance. Is there maybe some kind of ctools/panelizer cache that is missed?

merlinofchaos’s picture

Status: Active » Closed (cannot reproduce)

I can't reproduce this issue. I did these exact steps:

I went to the panelizer admin. I enabled panelizer for the 'blog' node type. I did not enable a default panelizer panel or panelizer choice. I went to the allowed content for the blog node type. I disabled everything, and hit save to bring the larger sets of checkboxes. I then enabled exactly 1 block (who's online).

I then went and created a new blog node, panelized it, added the who's online block. (Amusingly the panelized node contains blocks that aren't allowed because of the way defaults work, but there's no really good way to fix that).

I saved the blog node. I returned to the panelizer settings. I went to the allowed content for the blog node type. I enabled 'powered by Drupal' block. I saved.

I returned to my blog node, went to the panelizer content page, selected add new content, and successfully added the 'powered by drupal' block.

Note that at one point, we had an issue that the actual URL to the 'allowed content' screen was not actually going to the right place. This is fixed at some point, definitely in latest -dev. I don't recall if that was fixed prior to -rc1 or not.

The proper URL was this: admin/config/content/panelizer/node/blog/allowed

If the URL you visited look like this: admin/config/content/panelizer/node/blog.page_manager/allowed

That is the wrong URL.

bwood’s picture

In case it's helpful to others: I ran into something like this, and I learned that there are two places where you can set "allowed content":

1. /admin/config/content/panelizer
This is specific to content types/entities.

2. /admin/structure/panels/settings/panel-page
This is global (not specific to entities). I was using Panels IPE and it wasn't until I allowed the content here that it was available via IPE (Panels In Place Editor).

timbrandin’s picture

So maybe it is IPE that's causing the problem, we use it as well.

dagomar’s picture

I had this issue as well. I updated panels and panelizer to dev, and the issue went away. Can anyone confirm and close this issue?

// Edit
Issue was already closed. If anyone is experiencing this behavior, just try updating to dev first.

timbrandin’s picture

Status: Closed (cannot reproduce) » Closed (fixed)

It works now! Great work!