Looking for a module that does: __ (Taxonomy of content/etc) - not quite a Wiki

Events happening in the community are now at Drupal community events on www.drupal.org.
er1c's picture

I have a usage scenario for how I want a website to look/operate, but so far haven't been able to get the right search terms to find appropriate modules on drupal.org/etc.

The usage scenario would be something like (The real-life site wouldn't have have nothing to do with geography however, the example just mirrors the content I have in mind):

Homepage: Description of the Earth w/List of Countries in some arbitrary order (maybe population or if I wanted some backend "popularness")
-Each Country Would then have a State or Province Page (also listed in in some arbitrary order (maybe population or if I wanted some backend "popularness")) The country would have content about the country but would also have some navigation for getting to the different states, maybe a "see all/search" if it got really hairy, but I would ideally have a "snippet" view for each city/state detail page that would be shown for the really popular states/cities for a particular country (or maybe newly added...)
--Each State/Province Page would then have a list of Cities (also listed in in some arbitrary order (maybe population or if I wanted some backend "popularness"))
---City Detail Page

Normally I'd use something like a Wiki page, but I'd like the content to be more fluid/dynamic and able able to change the look feel of a "city page" vs a "state page" vs the Homepage.

Example:

Homepage: Content + Snippet for United States + Canada, but a link or something to see any pages
-United States
--Washington
---Seattle
---Bellevue
--Oregon
---Portland
---Bend
-Canada
--Ontario
---Toronto
--British Colombia
---Victoria

Comments

Sections module?

Miko.'s picture

Some of this sounds like it could be accomplished with the Sections module. Use something like Artisteer to easily create a bunch of themes, and then manually prefix-alias city, state and country pages with city/* state/* country/* etc then associate the theme with the alias prefix in Sections. I'm doing this on a site so that when people click on the sports section it switches to a completely different "Sports" theme, etc.

The Sections module can also show a theme based upon php code as well, rather than page url alias, so you could pretty much switch to a theme using any active variable, like node/content type.

MIKO, Creative Technical Support and Developer
Miko's Support and Design Services, Seattle
http://mikosweb.com

Views and Context

noslokire's picture

Views can handle the linking you are talking about using Views with just a taxonomy parent relationships and a taxonomy name argument. The theme layout can be handled by Context module or Spaces for more functionality

Context vs. Sections

Miko.'s picture

I see that Spaces uses Context and so it's really just "Context Plus" and it seems dependent upon a lot of modules. But now you have me curious- is Context a big advantage over something like Sections? Sections has no module dependencies, but with Spaces you need at least 4 other modules.

MIKO, Creative Technical Support and Developer
Miko's Support and Design Services, Seattle
http://mikosweb.com

My vote would be panels with

jason.fisher's picture

My vote would be panels with term_view variants that pass context to a Views content pane display argument.

I agree about Views/Panels BUT....

Miko.'s picture

I almost mentioned Views and Panels because hey are definitely options. However, the maintenance level and the initial learning curve seemed too high for that to be my initial recommendation. Also, when you run devel page execution time analysis on specific pages, the implementation of Sections adds a small burden, but Panels with Views can (or likely will) add an even greater page load/execution burden on the specific pages that use them.

MIKO, Creative Technical Support and Developer
Miko's Support and Design Services, Seattle
http://mikosweb.com

er1c's picture

In a perfect world I think I'd have one terminology of "Countries" another "of States" and then another of "Cities"

I would then be able to make "Seattle" associated with the state "Washington" and the state with "United States" country.

Otherwise when you have a single nested taxonomy doesn't the field drop down list get super duper duper hairy trying to select?

Or in the content creation are can you somehow brake the various "Parent" selection/refinement into a sort of "steps"?

The other problem I'm having is even if I have a single taxonomy I can't seem to get a View configured to show me the list of Countries, then select one/see a list of the states/ then select one and see a list of cities, then select that and see the matching "Content Type" = City items (but I'd also potentially have some content type = state and show that on the top of the list?

Node reference?

Miko.'s picture

If you're worried about long drop down lists, why don't you associate the areas by node reference? Set up the countries first. Then setup up the States as a content type with a required node reference to Country. Then The states as a content type with a required nod reference to state.

It also sounds to me like you ARE still confused because you haven't yet decided HOW you want people to navigate your site. I think you need to draw a site navigation map as a plan first before even HOPING to understand your own requirements here.

MIKO, Creative Technical Support and Developer
Miko's Support and Design Services, Seattle
http://mikosweb.com

This is just a taxonomy tree folks

MrPhilbert's picture

It's very easy to create a taxonomy called Location with parent items of Country, subs of State/Region and sub-subs of City/Town.

It is very well known that trying to enforce sub-terms on node creation is a glaring Achilles Heal for Drupal.

So far, the only answers have been custom modules or (in this case) context.

In the case of custom modules, all the examples have used static content hard coded into "Samples".

As for context, that works great for controlling the visibility of an item based on the selection of another such as a check box or radio buttons. It fails if you have sub-items that are constantly added under parent items such as Cities under States.

I have yet to see a way to enforce primary and foreign key constraints in Drupal using the front end whether it be views, node reference, context or contextual administration.

I can do this very easily in asp.net. Why should it be so hard to implement it in my favorite CMS?

If I am missing anything, please let me know.

Perhaps this could be a topic at the next Sea_Dug?

I have a very clear

er1c's picture

I have a very clear navigation behavior I want to do (I actually have the existing site that's basically in a wiki format that I'm just trying to "convert" over)

I'm a big drupal newb, and contemplating just punching out a rails project next weekend instead...I've got a couple levels of learning curve going on with the drupal project, so I am doing a bunch of research/learning new things for each suggestion that's been thrown up somewhere. Still missing that aha moment, and what MrPhilbert mentioned might be that problem I'm running into.

Another Option

timani's picture

From what i have been reading I think there may a solution if i understood correctly. I have been working on creating a craigslist style directory, that needed a dynamic hierarchy to displayed from a taxonomy or vocabulary in a similar manner depending on the current page or section.

I tried a number of modules, tax_menu, vocabulary, default views tax_term (with depth) and a bunch of others. They work great but failed to take a lot of use cases into consideration, such as if you want to list a specific item from level 2 of the hierarchy like with the above example:

-United States
--Washington
---Seattle
----Capital Hill
----Ballard

I could not just drop in a block or view to get the list from Seattle, downward to a certain depth. Also in some cases the parent category needed to be a link to that taxonomy term or plain html heading (h2,h3...)as well as a desired depth to go down in the taxonomy and a bunch of other options that were in the requirements.

In the end i had to write a module, and it seems like it is doing the trick. Now i can drop in custom taxonomies, from any level, with the option to output the parent as a title, as well as the children of that category. The joy is that you do not have to be limited to the root element of the taxonomy. So now i have a directory page listing that can look like this with multiple sub-categories, a vocabulary or term like this on the same page:

-United States
--Washington
---Seattle
----Capital Hill
----Ballard

-Canada
--British Colombia
---Victoria

-France
-- Paris
--- etc

Then on the various category pages it can then use arguments to filter so it is then dynamic on various pages. For example on the United States Section page and this approach. I created the lists as blocks so i could just use these as blocks and specify the paths it should display on:

--Texas
---Dallas
----Arlington
----Fort Worth
...
...
--Washington
---Seattle
----Capital Hill
----Ballard

This worked recursively so if there were 5 levels the admin will be able to specify the various depths to traverse. In the end i just used Drupal's default blocks (admin/build/block) and the module i wrote and it proved to work well enough for me. I have some additional functionality that i have to add to make sure it is complete but that's my 2 cents.

Far out!

MrPhilbert's picture

Would you be inclined to post it so we could see how you did this.

I think there are a lot of us here that would be extremely interested.

How did you enforce child taxonomies at node creation?

I've been baffled about this for quite some time.

Still curious

MrPhilbert's picture

Are you going to be at Sea Dug?

I will be a Sea Dug

timani's picture

Hi sorry for the delay, this is launch week for the site so its a bit chaotic, but as soon as it is done i would be glad to do so.

I think there are some design considerations if it is going to be released as a module, but it is definitely a workable solution and it is not a lot of code either. They are looking to get views integration and some other stuff, but i think base code should be good enough if anyone to get working with.

Thanks for the reply Timani

MrPhilbert's picture

Hope all goes well with the new site.

Looking forward to meeting you.

Seattle

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: