Article

Views block displayed by Taxonomy Term which current node, content, page or URL is categorized using Contextual Filters

We all know by now Drupal 7 Views is powerful enough to filter and display dynamically any content in various and flexible ways, and the options are endless. It's just a matter of how and where you want it set up.

Scenario:

  • You have a Content Type (Node), let's say a content type called "Blogs" where content items added may be "Article about Drupal 7", "Article about Drupal 8", "Article about Joomla", "Article about Magento", and list goes on and etc.
  • You have a friendly URL based structure (probably using a Path Auto module generated URL aliases for your content types, content nodes, taxonomy vocabulary and terms)
  • You have a Taxonomy and Terms setup such as: "Blog Category" (Vocabulary), then listed under this are terms such as "Drupal", "Joomla", "Magento", and etc.
  • You want to display all blog contents in your block for this to show on any blog sections, listings or blog pages - no problem you can do that with the filter criteria alone (filtering by Content Type), then under Structure > Blocks adjust this block to show where needed (show in specific URLs only among other choices)
  • You want to display all contents "tagged" or categorized under a specific term in your block

How to Use Contextual Filters to show Blocks dynamically according to Taxonomy Term

  1. Set-up your block to display content, fields, etc. as required - format settings, fields settings, may also include setting up Relationships to show fields from other Content Types, entities, etc.
  2. Under Contextual Filters, add Taxonomy term: Name
  3. Under "When the Filter Value is NOT Available", choose "Provide default value"
  4. Under "Type", choose "Raw Value from URL" - this is due to your requirement to show blocks according to for example /blogs/category/drupal (this URL being the term listing or feed for "Drupal")
  5. In our example, "Path Component" is set to 3, because we want to target the term "drupal" in the URL /blogs/category/drupal (drupal being in the third placement of the URL)
  6. Check "Use path alias"
  7. Save then test by typing in drupal in your preview
  8. Enable the block in Structure > Block, then viola!Drupal-Views-Block-Display-Content-According-Taxonomy-Term.png

Useful resources:

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
To prevent automated spam submissions leave this field empty.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
13 + 5 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.