Views
- Área: Librerías y Módulos
- Grupo: Módulos para Drupal
- Carácter del recurso: Recomendado
- Tecnologías: PHP
Descripción
El módulo Views ofrece la posibilidad de generar la estructura de contenidos de forma personalizada. Permite que se filtre y organice el contenido de la forma que se desee.
Ejemplo de uso
Digamos que se necesita una lista desplegable compuesta por una vista que funciona como una ayuda a la navegación; es decir, cada vez que se selecciona una entrada (probablemente un nodo) la página correspondiente (de ese nodo) se está cargando.
Este ejemplo resume la solución mediante la creación del módulo
<?php
function phptemplate_views_view_unformatted__info_center_items($view, $options, $rows, $title){
$form = drupal_get_form('jump_view_form', $view, t('CHOOSE AN ITEM'));
return $form;
}
function jump_view_form($form_state, $view, $initial_label){
drupal_add_css(drupal_get_path('module', 'jump_view') .'/jump_view.css');
// add the jQuery code which hides the 'Go' button and submits the form on change
drupal_add_js ('
$(document).ready(function(){
$("input.edit-submit-jumpmenu").addClass("hidden");
$("#edit-nid-'.$view->name.'").change( function () {
this.form.submit();
});
})
','inline');
$options = array();
$options[0] = $initial_label;
foreach( $view->result as $node ) {
$options[$node->nid] = _filter_url_trim($node->node_title, 35); // Just to trim titles longer than 35 chars
}
$form['#id'] = 'jumpmenu-'.$view->name; // give it a unique name, in case you want to have more than one on a page
$form['#attributes'] = array('class' => 'jumpmenu-form', 'name' => 'jumpmenu-'.$view->name ); // again - for uniqueness and styling
$form['nid-'.$view->name] = array(
'#type' => 'select',
'#options' => $options,
'#id' => 'edit-nid-' . $view->name,
'#class' => 'jumpmenu-item',
);
$form['view_name'] = array( // again - allowing for multiples on a page
'#type' => 'value',
'#value' => $view->name,
);
$form['submit'] = array( // the go button, which will be hidden via jQuery
'#id' => 'edit-submit-jumpmenu-' . $view->name,
'#attributes' => array('class' => 'edit-submit-jumpmenu'),
'#type' => 'submit',
'#value' => t('Go'),
);
return $form;
}
function jump_view_form_submit($form, &$form_state) {
$form_values = $form_state['values'];
if ( @$form_values['nid-'.$form_values['view_name']] && is_numeric($form_values['nid-'.$form_values['view_name']]) ) {
drupal_goto('node/'.$form_values['nid-'.$form_values['view_name']]);
}
}
?>
Ventajas e inconvenientes
La mayor utilidad de las vistas aparece cuando necesitamos crear tipos de contenido personalizados mediante CCK. A través del interfaz de usuario del módulo Views podemos filtrar el contenido que pertenezca a uno o varios tipos de contenido y generar listados. Necesita hacer uso del módulo si:
- Le gustaría una página de inicio personalizada
- Le gustaría una taxonomía personalizada
- Utiliza un tracker pero quiere limitar los mensajes de un determinado tipo
- Le gustaría la idea de tener un módulo para manejar artículos pero quiere personalizarlo
- Le gustaría marcar contenido como no leído
- Mostrar información sobre algo y sus comentarios más recientes.
Requisitos e incompatibilidades
Es necesario instalar el el modulo Advanced Help para leer la documentación del módulo
Enlaces externos
Contenidos relacionados
Código | Título | Tipo | Carácter | |
---|---|---|---|---|
LIBP-0351 | Módulos para Drupal | Libro de pautas | Directriz | Recomendada |