I'm setting up a website for the school where I teach, and I would like to have a single panel (like this) that I can reuse for each activity that we have at school (soccer, volleyball, student council, marching band...). I pass into the panel via the URL the taxonomy term for the activity and that gets passed to a few views that pull data for that activity. That part works very well.
But I'm also trying to put a node on the panel that is specific to each activity. So, for instance, for football I use the URL http://lincolnlutheran.org/drupal/activities/75/99 where 75 is the taxonomy id and 99 is the node for the football team. This seems to work, but generates a series of warnings on the Panel edit tab. No warnings for the user, just when I'm editing.
Because of that, I'm not at all convinced that I'm doing this the right way. Should I be putting the articles that describe the activity in something other than a node? Should I be including the node in the Panel in some other way? Should I be passing the argument for the node into the Panel by some other means? Is there a way to associate the node with the taxonomy term in a way that I only have to pass in the taxonomy id?
Any thoughts? Here's the warnings I'm getting...
- warning: Invalid argument supplied for foreach() in /home/lincolnl/public_html/drupal/modules/node/node.module on line 504.
- warning: implode() [function.implode]: Bad arguments. in /home/lincolnl/public_html/drupal/modules/node/node.module on line 508.
- user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
query: SELECT n.nid, n.vid, n.type, n.status, n.created, n.changed, n.comment, n.promote, n.sticky, r.timestamp AS revision_timestamp, r.title, r.body, r.teaser, r.log, r.format, u.uid, u.name, u.picture, u.data FROM node n INNER JOIN users u ON u.uid = n.uid INNER JOIN node_revisions r ON r.vid = n.vid WHERE in /home/lincolnl/public_html/drupal/includes/database.mysql.inc on line 172.- warning: Invalid argument supplied for foreach() in /home/lincolnl/public_html/drupal/modules/node/node.module on line 504.
- warning: implode() [function.implode]: Bad arguments. in /home/lincolnl/public_html/drupal/modules/node/node.module on line 508.
- user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
query: SELECT n.nid, n.vid, n.type, n.status, n.created, n.changed, n.comment, n.promote, n.sticky, r.timestamp AS revision_timestamp, r.title, r.body, r.teaser, r.log, r.format, u.uid, u.name, u.picture, u.data FROM node n INNER JOIN users u ON u.uid = n.uid INNER JOIN node_revisions r ON r.vid = n.vid WHERE in /home/lincolnl/public_html/drupal/includes/database.mysql.inc on line 172.
Comments
Comment #1
merlinofchaos commentedHmm. Those warnings are probably harmless on the editing page, and are simply bugs in the system. Recent changes have made the system more buggy than it used to be, sadly.
I'll look into this further, but as long as the panel you're generating works I think this is probably fine.
Comment #2
lsommerer commentedThanks, and since I'm relatively new to Drupal and new to Panels, does that approach seem reasonable? Is there a better way to do this than passing in the "main node" in the URL?
Comment #3
merlinofchaos commentedNo, I think that approach is fine. You can use path aliasing to make the URL a bit easier for your users to digest.
You could probably do some kind of tagging to find the node automatically, but I'm not sure that's really worth doing. Panels currently isn't smart enough to seek out nodes like that, though I'm sure once it goes gold, people will find cool ways to do that.
Comment #4
merlinofchaos commentedWhen alpha12 comes out, please let me know if you still get these errors.
Comment #5
lsommerer commentedWill do.
Comment #6
catchAssuming this is fixed in beta1, please re-open if not.
Comment #7
Anonymous (not verified) commentedAutomatically closed -- issue fixed for two weeks with no activity.