This project is not covered by Drupal’s security advisory policy.

Provides a url-based tab solution.
Example implementation: PayPal on Commerce Marketplace

Each content type can have its own tabs defined, created as exportable, translatable entities.
If a node type has tabs, and a node of that type has an alias, an additional alias will be created per tab.
So if you have tabs Overview, Documentation and Pricing, and a node with the alias my-product, the module will create: my-product/overview, my-product/documentation and my-product/pricing.

Comparison with existing solutions

Existing solutions rely on various JS libraries to divide the content into tabs.
This has various drawbacks:
- All content for all tabs must be rendered at once, leading to suboptimal performance
- Visitors with JS turned off will see content for all tabs on the same page, which can be overwhelming.
- Suboptimal URLs leading to suboptimal SEO.

Getting started

Go to admin/structure/types, and click the "tabs" link for your content type.
Tabs are exportable, and have a machine name (used in the url), a translatable label (shown in the tab itself), and a weight (used to sort them).
You need to have the i18n_string module (part of the Internationalization module) to be able to translate the labels.

A default rule is provided that redirects to the default tab (the one with the lowest weight) with a 301 (Moved Permanently) redirect (so going to node/3 will redirect to node/3/overview, for example).

Using with Panels

Add a Panels page to node/%node/%node_tab with two contexts, Node: ID and Node Tab: Name attached to the arguments.
Each variant would then have appropriate selection rules, for instance,
Node: type - "page" and Node Tab: Tab Name - "overview" (or some other tab machine name).
A panels content_type provides the tab selector under Node Tab: Available Tabs.

Using without Panels

Please review the patch at #2005384: Make it usable without Panels and apply it.
Then enable the Node Tab block and add it to all node/*/* pages.
Finally, go to admin/structure/types and edit the view modes added for each tab to only show the desired fields.

Sponsored by Commerce Guys

Project information

Releases