Documentación Drupal
Vamos a tratar de aprender algo acerca del Drupal, ya que la documentación que hay en los sitios es bastante caótica...
Customization and Theming [Drupal Administrator's Guide)
PHPTemplate theme engine es el método default de theming para Drupal 4.7
Se supone que todas las funciones que producen HTML para mostrar deberían ser themable functions, esto significa que su nombre debe comenzar con el prefijo theme_ y se las debe invocar usando la función theme(), lo que permite que los temas puedan controlar cómo se muestra cualquier objeto Drupal.
XTemplate theme engine era el método default hasta Drupal 4.6 (a partir de 4.7 hay que instalarlo aparte, pero se puede usar).
También se pueden hacer themes con PHP puro, pero es más complicado de mantener
Módulos
Estos módulos me parecieron interesantes (a principios de septiembre de 2006):
Accents is simple module that removes accents from words to provide better search results. For example "á â Å ã" all become "a".
- This module adds the ability to reference non-existing (new) nodes right from nodereference field when You're adding or editing the node.
It's recommended to use this module with a Form restore module. It simplifies the workflow and enables support for multi-step chained nodes creation - if the content type of new node have nodereference fields it is possible to add and reference from it and so on (up to 10 steps now supported).
Thanks to Form restore, after submitting of new node You will be returned to the previous (still not submitted) form with *all* values You have filled before and (of coarse) with just added node in the field where 'Add new...' button has been pressed.
Note #1: This module requires content.module, nodereference.module and form_restore.module
Note #2: Please read a documentation if You are not familiar with CCK and nodereference fields.
- This module adds the ability to reference non-existing (new) nodes right from nodereference field when You're adding or editing the node.
The Content Construction Kit (CCK) allows you create content types through the web. A content type is a collection of fields.
The intent of the CCK is to make the creation of custom node types easier. Several contributed projects provide additional field types and widgets for CCK:
- computed field: lets you add a PHP-driven "computed field" to CCK node types
date: creates an ISO or unix timestamp date field
- email: validated email field
- image field: an image field
- link: a URL field
The date module is a flexible date/time field type for the cck content module and a date API. The date.module requires the content.module to be installed.
- Think of this as a 'build your own category view' page. A single page with checkboxes for each term (organized nicely by vocabulary). User checks off the terms which he wants to see, and then this module contructs the right URL (e.g. taxonomy/view/and/3,4,5) and then displays matching nodes ot the user.
Taxonomy dhtml A page listing recent nodes on your site, organized by taxonomy term. Also provides a block for each vocabulary, listing terms and their node counts. Finally, a box is exported to the syndication.module main page.
The Taxonomy Breadcrumb module generates taxonomy based breadcrumbs on node pages, where the breadcrumbs link to the normal taxonomy/term pages or to administrator defined pages.
- The breadcrumb trail takes on the form:
[HOME] >> [VOCABULARY] >> TERM >> [TERM] ...
- The HOME breadcrumb (if present) links to the homepage. The text displayed for HOME is administrator configurable. If the HOME breadcrumb is not defined by the administrator, it will not appear in the breadcrumb trail.
- The VOCABULARY breadcrumb (if present) will link to an administrator defined page (node). If the VOCABULARY does not have an adminstrator defined page, it will not appear in the breadcrumb trail.
- Each TERM breadcrumb will link to either (1) taxonomy/term/tid by default, or (2) an administrator defined page (node) if one is defined for the term.
- These administrator defined "breadcrumb links" for VOCABULARIES and TERMS are controlled from the add/edit vocabulary and add/edit term administrator pages.
- The breadcrumb trail takes on the form:
The Textile module allows you to enter content using Textile, a simple, plain text syntax that is filtered into valid (X)HTML. It was originally developed by Dean Allen of textism.com, and several different versions (in several different programming languages) have been created.
- Brad Choate developed an advanced implementation of Textile in Perl, Textile.pm, which includes extra features beyond those of Dean Allen’s Textile 2 implementation. This module uses TextilePHP which is a direct PHP port of Brad’s Textile.pm Perl module created by Jim Riggs.
The Textile module, because it uses TextilePHP (based on the code written by Brad Choate and used in his MovableType plugin), is designed to behave the same as the MT implementation.
- Brad Choate developed an advanced implementation of Textile in Perl, Textile.pm, which includes extra features beyond those of Dean Allen’s Textile 2 implementation. This module uses TextilePHP which is a direct PHP port of Brad’s Textile.pm Perl module created by Jim Riggs.
The views module provides a flexible method for Drupal site designers to control how lists of content (nodes) are presented. Traditionally, Drupal has hard-coded most of this, particularly in how taxonomy and tracker lists are formatted.
- This tool is essentially a smart query builder that, given enough information, can build the proper query, execute it, and display the results. It has four modes, plus a special mode, and provides an impressive amount of functionality from these modes. You need Views if:
- You like the default front page view, but you find you want to sort it differently.
- You like the default taxonomy/term view, but you find you want to sort it differently; for example, alphabetically.
- You use /tracker, but you want to restrict it to posts of a certain type.
- You like the idea of the 'article' module, but it doesn't display articles the way you like.
- You want a way to display a block with the 5 most recent posts of some particular type.
- You want to provide 'unread forum posts'.
- You want a monthly archive similar to the typical Movable Type/Wordpress archives that displays a link to the in the form of "Month, YYYY (X)" where X is the number of posts that month, and displays them in a block. The links lead to a simple list of posts for that month.
- This tool is essentially a smart query builder that, given enough information, can build the proper query, execute it, and display the results. It has four modes, plus a special mode, and provides an impressive amount of functionality from these modes. You need Views if:
The E-mail field module provides a cck field type for email addresses. It requires the CCK Module.
- Features:
- validation of emails
- turns addresses into a mailto link
encryption of mail addresses (requires the Invisimail Module)
- Features:
The fieldgroup module allows you to create field groups for CCK fields. So you can group your CCK node forms with the help of field groups. It requires the CCK Module. Field groups can be set to be collapsible and can have descriptions.
The Form restore module restores form values saved by another modules in user session on non-submit form actions. Values are free for altering so You can use it to simulate multi-step workflow. Moreover this module uses stored forms parent-child relationship for correct redirection after submit.
Note: Now only one module works with it - Add and reference.
As I see, Form Restore can be a bridge between different modules and forms. It can improve the usability and make the data interchange more transparent.
Invisimail provides a content filter to hide email addresses from spam-bots. Email addresses are converted to ascii code and optionally written to the page using a concatenated JavaScript "write" command. The email addresses will appear on the page normally, but their html source will be obscured so as not to appear as an email address to email harvesting robots. Invisimail also provides an option to automatically create mailto links for email addresses.
Link: A CCK content field which lets you add a complete link to your content types; including URL, title, and optionally a target attribute. Requires the content module (CCK).
The link module is a one-stop content link "field" type for CCK. It provides three fields to an authorized user:
- URL (textfield)
- Title (textfield)
- Open New Window (checkbox)
The SpamSpan module obfuscates email addresses to help prevent spambots from collecting them. It implements the technique at the SpamSpan website. The problem with most email address obfuscators is that they rely upon JavaScript being enabled on the client side. This makes the technique inaccessible to people with screen readers. SpamSpan however will produce clickable links if JavaScript is enabled, and will show the email address as example [at] example [dot] com if the browser does not support JavaScript or if JavaScript is disabled.
The Node import module allows you to import a set of nodes from a Comma Seperated Values (CSV) or tab-delimited text file.
- The module currently supports following types natively:
- event,
- page,
- story,
any node type created with the Content Creation Kit (CCK),
- any flexinode node type.
- event-enabled nodes,
- location-enabled nodes,
- taxonomy-enabled nodes.
- The module currently supports following types natively:
The System Info module displays information of the drupal install and system environment.
.