Giter Site home page Giter Site logo

quicktabs's Introduction

*******************************************************************************

Quicktabs

Description:
-------------------------------------------------------------------------------

This module provides a form for admins to create a block of tabbed content by
selecting a view, a node, a block or an existing Quicktabs instance as the content
of each tab.
The module can be extended to display other types of content.


Installation & Use:
-------------------------------------------------------------------------------

1.  Enable module in module list located at administer > structure > modules.
2.  Go to admin/structure/quicktabs and click on "Add Quicktabs Instance".
3.  Add a title (this will be the block title) and start entering information for your tabs
4.  Use the Add another tab button to add more tabs.
5.  Use the drag handles on the left to re-arrange tabs.
6.  Once you have defined all the tabs, click 'Save'.
7.  You new block will be available at admin/structure/blocks.
8.  Configure & enable it as required.
9.  To add tab styles to your Quicktabs instances, enable the quicktabs_tabstyles module
10. Edit the default style at admin/structure/quicktabs/styles
11. Control the style of individual Quicktabs instances by editing the instance in
question and selecting from the style dropdown.

Note:
-------------------------------------------------------------------------------
Because Quicktabs allows your tabbed content to be pulled via ajax, it has its
own menu callback for getting this content and returning it in JSON format. For
node content, it uses the standard node_access check to make sure the user has
access to this content. It is important to note that ANY node can be viewed
from this menu callback; if you go to it directly at quicktabs/ajax/node/[nid]
it will return a JSON text string of the node information. If there are certain 
fields in ANY of your nodes that are supposed to be private, these MUST be 
controlled at admin/content/node-type/MY_NODE_TYPE/display by setting them to 
be excluded on teaser and node view. Setting them as private through some other 
mechanism, e.g. Panels, will not affect their being displayed in an ajax Quicktab.

For Developers:
-------------------------------------------------------------------------------
The basic Quicktabs functionality can be extended in several ways. The most basic is
to use the quicktabs_build_quicktabs() function to create Quicktabs instances 
programmatically, putting whatever you want into the Quicktabs instance. This function
takes 3 parameters:
$name - the name of an existing Quicktabs instance (i.e. existing in the database or
in code), or a new name if creating an instance from scratch
$overrides - an array of options to override the settings for the existing instance, or
to override the default settings if creating an instance from scratch
$custom_tabs - an array of tab content arrays. A very basic tab content array would be
array('title' => 'My Custom Tab', 'contents' => 'Some text').
One example of where this might prove useful is in a hook_page_alter implementation,
where you could essentially put any render array that's part of the page into a
Quicktabs instance. The contents property of a cusom tab can be a render array or
a string of html.

Another way to extend Quicktabs is to add a renderer plugin. Quicktabs comes with
3 renderer plugins: jQuery UI Tabs, jQuery UI Accordion, and classic Quicktabs. A
renderer plugin is a class that extends the QuickRenderer class and implements the 
render() method, returning a render array that can be passed to drupal_render().
See any of the existing renderer plugins for examples. Also see Quicktabs' implement-
ation of hook_quicktabs_renderers().

Lastly, Quicktabs can be extended by adding new types of entities that can be loaded
as tab content. Quicktabs itself provides the node, block, view, qtabs and callback
tab content types. Your contents plugins should extend the QuickContent class. See
the existing plugins and the hook_quicktabs_contents implementation for guidance.



Author:
-------------------------------------------------------------------------------
Katherine Bailey <[email protected]>
http://drupal.org/user/172987

quicktabs's People

Contributors

katbailey avatar ultimateboy avatar ezra-g avatar

Watchers

James Cloos avatar Palash Vijay avatar

Forkers

walkero-gr

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.