Posted by R.Hendel on October 13, 2009 at 10:33am
| Project: | Panels |
| Version: | 6.x-3.x-dev |
| Component: | Panel nodes |
| Category: | bug report |
| Priority: | normal |
| Assigned: | Unassigned |
| Status: | closed (fixed) |
Issue Summary
Hi,
when trying to disable comment-settings for panel nodes I found that /admin/content/node-type/panel is not working. Instead of displaying node-settings-page I get an 404.
Any ideas?
Not sure, if this is a bug - so I commit it as support request...
Thanks in advance,
Ralf
Comments
#1
Hm. It works fine on my site. This page is also provided by Drupal itself, not the panel nodes module. I don't have any good ideas why this might be happening. :/
#2
I'm having this issue as well. When I visit admin/content/node-type/panel I get "Page not found"
#3
subscribing
#4
#5
After updating to Panels 6.x-3.1 OR after setting up RootCandy Administration Theme nodetype-setting-page behaves in another way:
On top of form there is displayed content of node/1
On bottom of form there are nodetype-settings-informations.
See my Screen Shot attached...
I have seen, that there is a new panel version 3.2. published.
Just for documentation I am posting this information.
I will update to 3.2. and see, what will happen with this. In my option state is minor now.
By the way: thanks a lot for your great work at panels, Merlin!!
Best regards,
Ralf
#6
I have my doubts that Panels is involved with this at all, because Panels doesn't do anything on that page. Drupal core handles that. It's really strange.
One thing that might help is if it's node/1 that's being displayed, you could change that node to the PHP type and use dsm(debug_backtrace()) (assuming you have devel.module installed) on that page. The output from that might give a clue as to what is displaying that node. Obviously this is something you would want to do on a test site.
#7
The people above
Are you using the vertical tabs module?
Vertical tabs tries creating a fake node forum to figure out what fieldsets are available to
when doing that, this from panel_node
<?phpif (empty($layout)) {
return drupal_not_found();
}
?>
creates a page not found for me.
For a temporary fix, I changed line 118 to vertical_tabs.module
<?phpif ($form_id == 'node_type_form' && $form['#node_type']->type && !$form['#programmed'] && $form['#node_type']->type != 'panel') {
?>
I was going to move this to vertical tabs, but I doubt most people would think that that module is causing the issue and end up asking here again, creating a duplicate.. so someone else can make the discussion whether to move it or create a new topic there and "won't fix" this or whatever.
#8
Oh interesting. I suppose panel nodes might need a way to detect that condition, then. Can you think of a test that will let panel nodes figure out that it's not *really* what it thinks it is and not do the 404?
#9
The best solution I can think of is checking arg(), $_GET['q'], etc. and verify one is on the correct page (around where it checks empty($node->nid)).
One advantage of that is may take care of others programitically creating forums (though, I don't know too many modules that do that. Content_profile's fields on registeration, but I doubt someone would use panels for profiles, specifically, content_profile_registration. )
Another way is to ask vertical tabs to pass in some argument to indicate that it is calling the forum, but that's be a very specific solution and would require patching both modules.
here's the calling from vertical_tabs creating the issue
<?php
function vertical_tabs_node_type_form($node_type) {
module_load_include('inc', 'node', 'node.pages');
// Build a psuedo-node for a sample node form.
$node = (object) array(
'type' => $node_type,
'name' => '',
'vid' => 0,
);
// Build a sample node form to find fieldsets.
$node_form_state = array('values' => array());
$node_form_id = $node_type .'_node_form';
$args = array(
$node_form_id,
$node_form_state,
$node
);
$node_form = call_user_func_array('drupal_retrieve_form', $args);
$node_form['#post'] = $node_form_state['values'];
drupal_prepare_form($node_form_id, $node_form, $node_form_state);
uasort($node_form, 'element_sort');
?>
#10
Realized I wanted to actually configure vertical tabs for panels so my temporary solution wouldn't work for me anymore, so here's the patch that does the check. Haven't tested too much to see if any side effects.
#11
I think this or this #452590: Panel Node creation and panel content type edition fail is a duplicate; not sure which to mark as duplicate; the other one is older.
#12
Patch attached so moving to the review queue.
#13
A similar issue exists for node-type/topichubs. I opened an issue there (#726206: Can't access content-type/topic-hub to change settings...) with a patch for topichubs_panels.crud.inc (line 19).
#14
Patch from #10 can solve this issue. I am testing it with Drupal 6.17 + panels 6.x-3.x-dev + vertical tabs 6.x-1.0-rc1 and pass.
Patch revoke based on #10 and latest panels 6.x-3.x-dev CVS. Should this issue mark as RTBC?
#15
Committed!
#16
Automatically closed -- issue fixed for 2 weeks with no activity.