User Tools

Site Tools


g2:howto

Back to G2 main

G2 HOWTO. Or "How do I ..."

How do I obtain teasers ?

Also: “all my teasers are empty. What is happening ?”.

G2 by default does not create teasers from the body of the definitions (node body): it uses the “Entry expansion or translation” field, which can very well be empty for glossaries containing a mix of acronyms (with expansions) and normal terms (without expansions).

So, there are two main possibilities if you want to have teasers on all G2 definition nodes:

  • create the teasers in that field yourself. This is the normal solution for this module
  • use hook_form_alter to auto-generate a teaser from the body, typically using node_teaser()

How do I create an alphabar unlike the predefined block ?

Context

The predefined alphabar block provides a standard form alphabar, listing all initials in the alphabar setting with a link to the page for each initial. The block configuration page allows setting of both the alphabar and line-length wrapping.

However I does not allow for bar where, for instance, some initials would be merged (like grouping the numbers together under “#”, for instance).

Solution

The quick fix is not to use the predefined block, but to create a custom block using the function supplying the predefined block with data: _g2_alphabar(), which returns the current list of initials. With the result of this function, it is possible to visually build the bar to your wishes, while retaining dynamic compliance with the actual alphabar contents.

Creating a merged initial (like # for numbers) is probably best done by creating a link to a page of your own, possibly a page or story node, on which you'll query G2 to return the entries of your choice.

A better approach is available if you're writing a specific theme for a site : your job is to write the <yourtheme>_g2_block_alphabar() function, which will cleanly overload the default theme built in G2 to render the alphabar, thanks to Drupal's themeing mechanism. You can still use _g2_alphabar() to provide you with the actual data.

How do I create a constant text linking to a random definition ?

Context

The predefined “random” entry block creates a block listing one pseudo-random entry from the G2 glossary, with a link to its definition page.

However, for some layouts, one can wish to have the blocks not display the entry, but a link with a constant text like “Random glossary definition” linking to a random definition from the G2 glossary.

Solution

The trick is not to use the predefined block, but to create a custom block using the function supplying the predefined block with data: _g2_random(), which returns data for a pseudo-random entry. With the result of this function, it is possible to create the link you want and format it just as you wish.

How do I know which revision of G2 my site is using ?

  • This is available in admin/settings/g2, at the bottom of the page: the whole CVS $Id$ variable is provided for your information

How do I add a complete definition to my front page ?

Context

The idea here is to enliven a home page with some reading taken from a G2 glossary, in addition to the manually edited home page.

Solution

This is simple: just chose the block you'll be using: WOTD or random, set it to display as long a body as you wish, and position it in the “content” placement, instead of the sidebars, header or footer. Then set the block for display only at a specific URL, and make that URL be the one you're using for your front page, typically front_page.

g2/howto.txt · Last modified: 2020/11/23 17:23 by 127.0.0.1