Necesito una guía para elaborar una vista donde muestre tabla en un modulo que estoy creando.

Events happening in the community are now at Drupal community events on www.drupal.org.
Posted by yemore on March 18, 2014 at 1:06pm

Necesito listar la información que tengo almacenada en la base de datos, la cual había entrado con anterioridad. Además de ello permitir la opción de editar y eliminar en cada una de las filas. Lo otro es que el caso de que tenga que listar muchos elementos pueda paginarlos. Podría alguien, hacer el favor de indicarme un tutorial o las funciones que necesito para conseguir esto. Seria algo como esto:

| Provincias |

| La Habana | Editar | Eliminar

| Matanzas | Editar | Eliminar

| Pinar del Río | Editar | Eliminar

| Artemisa | Editar | Eliminar

| Mayabeque | Editar | Eliminar

| Cienfuegos | Editar | Eliminar

| ... | ... | ...

1 << <1 2 3...> >> 8

Comments

Hola Yemore Aquí una guía

Posted by -enzo- on March 18, 2014 at 1:50pm

enzo - Eduardo Garcia

Gracias pero no es eso lo que

Posted by yemore on March 18, 2014 at 2:56pm

Gracias pero no es eso lo que necesito, no me supe explicar bien disculpa. Ya yo tengo las tablas creadas en la base de datos, con la información almacenada. Lo que necesito es mostrar esa información a manera de tabla. Una vista en la que muestre una tabla con la información almacenada.

Theme table

Posted by hatuhay on March 18, 2014 at 3:32pm

Espero esto te sirva:

<?php
function league_event_type_admin_list() {
$event_types = league_event_load_event_types('all');
$header = array(t('ID'), t('Type'), t('Label'), t('Points'), t('Icon'), t('Edit'));
$rows = array();
foreach (
$event_types as $event_type) {
$rows[] = array(
$event_type->id,
$event_type->type,
$event_type->label,
$event_type->points,
$event_type->class_icon,
l('Edit', 'admin/league/settings/tables/league_event_type/edit/' . $event_type->id
));
}
return
theme('table', array(
'header' => $header,
'rows' => $rows,
'attributes' => array('class' => array('league-event-type-admin-list'))
));
}
?>

Views

Posted by hatuhay on March 18, 2014 at 3:35pm

También puedes integrar tu tabla a views, más trabajo pero mejor resultado: http://drupal.stackexchange.com/questions/36912/using-views-with-a-custo...

¿Por lo que ví en tu

Posted by daneelcm on March 18, 2014 at 7:25pm

¿Por lo que ví en tu solicitud quieres hacer una paginación? Si solo necesitas mostrar los datos con el uso de theme_table resuelves como te demuestra @hatuhay arriba (puedes ver más opciones aquí: https://api.drupal.org/api/drupal/includes!theme.inc/function/theme_table/7), pero si además quieres hacerlo con una paginación ya son otros 5 pesos.

Aqui te muestro un ejemplo de una tabla con paginación y ordenamiento en las columnas por si te sirve:

<?php
$header
= array(
'artcode' => array('data' => t('Articulo'), 'field' => 'v.artcode', 'sort' => 'asc'),
'descart' => array('data' => t('Descripcion Art.'), 'field' => 'i.description'),
'magcode' => array('data' => t('Codigo Alm.'), 'field' => 'v.magcode'),
'descalm' => array('data' => t('Descripcion Alm.'), 'field' => 'm.naam'),
'maglok' => array('data' => t('Localizacion'), 'field' => 'v.maglok'),
);

$query = db_select('voorrd', 'v');
$query->join('items', 'i', 'v.artcode = i.ItemCode');
$query->join('magaz', 'm', 'v.magcode = m.magcode');
$query->condition('v.maglok', '', 'IS NOT NULL');
$query->fields('v', array('artcode', 'magcode', 'maglok'));
$query->fields('i', array('description'));
$query->fields('m', array('naam'));
$query = $query->extend('TableSort')
->
extend('PagerDefault');
$query->limit(20)
->
orderByHeader($header);
$rs = $query->execute();

$row = array();
$arts = $alms = array('' => '');
foreach (
$rs as $item) {
$row[$item->artcode . '-' . $item->magcode] = array(
'artcode' => $item->artcode,
'descart' => $item->description,
'magcode' => $item->magcode,
'descalm' => $item->naam,
'maglok' => $item->maglok,
);
}
?>

Chicos mil gracias

Posted by yemore on April 2, 2014 at 6:42pm

Chicos mil gracias, me he demorado en contestar porque no tenía acceso, pero al fin lo conseguí.

function municipio_listar(){
$header = array('Municipio', 'Edición', 'Eliminación');

$query = db_select('municipio', 'nom_municipio')
 ->fields('nom_municipio')
 ->extend ('PagerDefault')
 ->limit(10)
 ->execute()
 ->fetchAll(); 
foreach ($query as $try){
 $rows[] = array(
 $try->nom_municipio,
 l('Editar','/recursos_humanos/provincia/editar/'.$try->id_municipio),
 l('Eliminar','/recursos_humanos/provincia/Eliminar/'.$try->id_municipio),
 );
}
$build ['table'] = array(
 '#theme' => 'table',
 '#header' => $header,
 '#rows' => $rows,
);
$build ['pager'] = array(
 '#theme' => 'pager',
);
return $build;

}

Otra cosita

Posted by yemore on April 7, 2014 at 3:56pm

Déjenme preguntarle otra cosita sobre la creación de tablas para mostrar datos. Con theme() puedo crear tablas simples, por lo que entendí en la página de Drupal. Pero si quisiera hacer algo más complejo como esto:

XXX
XXX XXX XXX
xxxx xxxx xxxx xxxx xxxx xxxx
xxxx xxxx xxxx xxxx xxxx xxxx

Argentina

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

AltStyle によって変換されたページ (->オリジナル) /