I'm in the process of learning Drupal and trying to plan a site for an academic journal (where I work). I've been experimenting with various ways of managing the issue content. Of course, the first option was E-Publish, but wasn't exactly what I needed (or maybe I didn't set it up right). I wanted the ability to have a node associated with each issue, containing the issue cover, the date and volume info, and an "in this issue" sort of teaser. Plus, I wanted to be able to create a block on the front page showing the latest issue. These and other things I wasn't exactly able to achieve with E-Publish.
So I've gone with a different strategy, which seems to be working, but comes with its own challenges. I thought some folks around here might be able to help me:
Here's what I'm doing so far: using flexinode, I've created node types called "Issue" and "Issue Content." Then in my taxonomy, I've got a vocabulary called "Issues" with terms like "Vol 18 No 2". This makes it easier to assign content to an issue (rather than using E-Publish where you have to associate it in a separate interface). The taxonomy_assoc module allows me to connect the "Issue" nodes to the corresponding Taxonomy term.
So step 1, I create a new "Issue," calling it Vol 18 No 2 or something like that. I upload the cover, type in the relevant info, mark the appropriate taxonomy association, and save. Then I create "Issue content" articles and assign them to Vol 18 No 2. So now viewing the category "Vol 18 No 2" displays BOTH the issue node and a list of "articles" belonging to that term. Also I've created a block (snippet found here) that fetches the most recent node of type "flexiblock-4" (Issues), and display that on my front page.
The challenges (and maybe you all can think of more problems with my schema so far):
1. The block I've just referred to links to only the node, not the taxonomy term. I guess the taxonomy_assoc module only works one way. Pointing to the term gives you the node, but not vice versa.
1a. Also, I just discovered that the block seems to be breaking my layout by adding an extra
somewhere. The output part of the block's PHP looks like this:
$result = db_query($sql);
while ($anode = db_fetch_object($result)) {
$output .= theme('node', $anode, $teaser = FALSE, $page = FALSE);
}
print $output;
I just noticed this and have no idea what is causing it, because no other blocks do it.
2. Moving on, I'd like, when you're viewing an article, to show a block listing content from the same issue. But I don't want to have to create a new block for every issue. Is there any way to have the block dynamically detect what taxonomy term the node belongs to? (Seems like this sort of thing is basic... maybe I've missed it?) Otherwise I'll just use taxonomy_block module.
3. Haven't yet figured out the best way to handle the navigation in terms of menus. Can I set up a menu for the Vocab (Issues) with a submenu for its terms (Vol 18 No 2, etc)? Again maybe this is something obvious that I just haven't learned yet.
That's all for now. Will post other questions (or solutions) as they arise. Thanks in advance for any pointers!
Comments
Never mind question 1a. Did
Never mind question 1a. Did a little guessing and it fixed the problem.
Basically instead of using
$output .= theme('node', $anode, $teaser = FALSE, $page = FALSE);
I used
$output .= ($anode->body);
Problem solved.
Same issue here...
As I've been pondering the same issue here, it seems you've gotten things pretty close. Perhaps some combination of selectively displaying blocks and the various taxonomy add-ons will allow us to "bring it home". In additon to what you've accomplished, I'd like to have a block that displays just the cover with a link to the content drilldown.
Hopefully others will have suggestions on how to make this work. But its starting to sound like a custom module may be needed to "glue" the bits together.
Radi