1

I have vocabularies "destinations" and vocabulary "places". Destinations vocabulary is for example : Europe>France>Paris Place vocabulary is: museums, restaurants, pubs...

I set the path pattern (url alias) for destination content type: [node:field-destinations:parents:join-path]/[node:title]

I also have Place content type [node:field-destinations:parents:join-path]/[node:field-destinations:name]/[node:field-place:name]/[node:title]

Every Destinations content is tagged with destination term and every Place content is tagged with destination term (where is that museum, pub or... located) and also with place term (what kind of place is, is it museum, pub...)

Basically, I want to make views page so when user is visiting Paris page (url alias is europe/france/paris) he should have All places link (in the menu block) pointing on the All places page where he will see listed and grouped museums(3), restaurants(7), pubs(9) or as much as exist for that destination...

I tried everything, I'm sure there is the way to achive it, but I'm missing something...Or am I doing something wrong from the beginning. I'm still not so familiar with Drupal API so I cannot make my own module at this moment.

I suppose that i need views page for all places (grouped by taxonomy term from location vocabulary) and then somehow to pass destination term filter from previous page (europe/france/paris) when the user click to paris he will go on views page europe/france/paris/all-places where he should see Museums (number of museums) and other locations. All that links should link to separate page europe/france/paris/museums views page with, again, listed place content for that destination.

I know this is more than one question but I needed to explain what kind of things I'm trying to achieve.

So, short resume: Can I pass filter term from previous page (term paris) and is there I way to make this grouped place link (Museums (8) Restaurants (22)...) and make them link to separate term page. And, the crucial is to preserve url in views pages, for example all-places page: europe/france/paris/all-places, and for specific place page: europe/france/paris/museums

Can this be done with views module, contextual filters and with some kind of arguments in views url (but Drupal dont allow argument at the first position in url).

Any advice would be helpful, if you have any idea how to achieve this... Thank you very much for your time and help!

1

This is how I have gotten this working:

  • First thing you need to do is install the References module

  • Update your Place content type:

    1. Rather than add a Destination term reference field, you should create a Destination node reference field.
  • Configure your view.

    1. Under Format > Settings, select Grouping Field Nr. 1 as Content: Places (or whatever you called your places term reference field).
    2. Assuming you have no relationships added, create a Relationship on Content: destination (field_destination) (or whatever you called your node reference field).
    3. Save your relationship.
    4. Assuming you have no contextual filters added, create a Contextual Filter on Content: Nid.
    5. Select the relationship on field_destination (or whatever you called your node reference field).
    6. Select Provide default value with a Type of Content ID from URL.
    7. Save your filter.
    8. Save your view.
  • Configure View Block

    1. Go to Structure > Blocks
    2. Configure your View Block
    3. Add to region and set Content-Type to Destination.
    4. Save the block.

Now if you go to one of your destination pages, you will see a list of places grouped by place type.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.