2. Taxonomía – Module
Taxonomy
Taxonomy = Clasificación
Taxonomy es un método de organizar el contenido de un sitio. Por ejemplo
clasificar la música por género, para este proyecto surgió la necesidad de
clasificar cursos.
En drupal 6 podemos administrar en Administre >> Content Management
>> Taxonomy.
3. Taxonomía – Module
Taxonomy
El módulo Taxonomy se organiza en vocabularios que se componen de
uno o más términos. Vocabularios son grupos de términos que describen el
aspecto de un nodo.
Luego de crear un vocabulario (o más) procedemos a crear los términos
que se van a asociar con estos vocabularios.
Al crear un nuevo término, Drupal le asigna un número. Y se le puede
llamar a todos los artículos clasificados dentro de ese término, llamando por
su número, por ejemplo: taxonomy/term/4
4. Implementación …
Creación de un módulo personalizado (cies) en:
proyecto/sites/default/modules/cies.
Tener en cuenta que los módulos se agregan dentro de la carpeta
sites/default/modules y para multi sites en sites/all/site1/modules, etc.
Para este proyecto se usaron los siguientes módulos: admin_menu,
captcha, cck, filefield, jquery_plugin, jquery_update, rotor, cies
(personalizado), taxonomy (core).
Se modificó un tema para el proyecto.
5. Implementación …
Para la creación del modulo se crearon los archivos: cies.info,
cies.install y cies.module.
En interfaz gráfica se comenzó a crear los vocabularios y la lista de
términos con sus dependencias.
6. Implementación …
Se crearon los
términos
respectivos y su
parentesco
(admin.)
7. Implementación …
… Ahora como Para esto el módulo
hago para que
se muestre
personalizado me ayudará
como lista y en
bloque
8. Implementación …
En el modulo creamos funciones y hooks:
Primero function cies_menu() para definir los menús así:
$items['categories'] = array(
'page callback' => 'cies_show_categories',
'access callback' => 'cies_perms',
'access arguments' => array(TRUE),
'type' => MENU_CALLBACK
);
9. Implementación …
Luego function cies_block($op = 'list', $delta = 0), donde definimos un
bloque para nuestra función que dibujará la taxonomía, así:
$blocks[0] = array(
'info' => t('Categorias Cies')
, 'cache' => BLOCK_NO_CACHE
, 'region' => 'content_left');
$blocks = array('content' => cies_show_categories());
10. Implementación …
Finalmente se crearon dos funciones cies_build_categories() y
cies_show_categories() (lista las categorías)
Lo más resaltante que se utilizo aquí es que se utilizó por ejemplo:
taxonomy_get_tree($vid = $value['vid'], $parent = 0, $depth = -1,
$max_depth = NULL);
$path = 'node/'.$node_id;
drupal_get_path_alias($path, $language);
11. Implementación …
function cies_show_categories() {
// The categories listed
$tree_category = cies_build_categories();
$data = '';
if (!empty($tree_category)) {
foreach ($tree_category as $value) {
$data .= $value;
}
}
return $data;
}