user warning: Duplicate entry '204065' for key 'PRIMARY' query: INSERT INTO accesslog (title, path, url, hostname, uid, sid, timer, timestamp) values('jquery', 'taxonomy/term/43', '', '204.236.235.245', 0, 'f335130220738b2c97312f02a83ffdda', 400, 1372931245) in /var/www/cocinandocondrupal.net/modules/statistics/statistics.module on line 64.
Imagen de bea

Accesibilidad en las VIEWS de tipo TABLA

Tags: 
accesibilidad
Descripción: 

FALLOS DE ACCESIBILIDAD:
Cuando el tipo de la vista creada es "tabla", sale el siguiente error:

Proporcione resúmenes de las tablas.

* La tabla no tiene resumen (atributo "summary") (1)

Provide summaries for tables.

* Table is missing a summary (1)

Para solucionarlo aplicar el siguiente código en el template.php

codigo_code: 
/**
 * Display the nodes of a view as a table.
 */
function phptemplate_views_view_table($view, $nodes, $type) {
  $fields = _views_get_fields();
 
  foreach ($nodes as $node) {
    $row = array();
    foreach ($view->field as $field) {
      if ($fields[$field['id']]['visible'] !== FALSE) {
        $cell['data'] = views_theme_field('views_handle_field', $field['queryname'], $fields, $field, $node, $view);
        $cell['class'] = "view-field ". views_css_safe('view-field-'. $field['queryname']);
        $row[] = $cell;
      }
    }
    $rows[] = $row;
  }
  return theme('table', $view->table_header, $rows,  array('summary' => 'Views tables'));
}
Imagen de bea

Views fields relacionados con los usuarios, autores..

Tags: 
user
Descripción: 

En ocasiones es necesario que el usuario contenga más campos que los que vienen por defecto (username, contraseña, foto..), como por ejemplo Nombre, telefono, provincia... ESto es sencillo mediante el módulo profile, que te deja crear campos para las cuentas de usuarios.

Pero existe otro módulo, usernode, que por cada cuenta de usuario crea un nuevo nodo (tipo: usernode y el autor del nodo es el user al que se refiere). Ésto es más completo, ya que puedes crear todo tipo de campos, desde tipo texto, nodereferences, campos de taxonomias..

La pega es que en las views, los links de los campos referidos a los autores te llevan a la página user/uid (la página del usuario, del módulo user y profile), en vez de guiarte a la del usernode.

El siguiente código se encarga de alterar ese link, metiendo el tema de dichos campos ( en este ejemplo del nombre de autor y de su fotografía) en el template y modificando únicamente el destino del link.

codigo_code: 
// En template.php
 
// Para el campo,Nodo: nombre de autor  
function phptemplate_username($object) {
  if ($object->uid && $object->name) {
    if (drupal_strlen($object->name) > 20) {
      $name = drupal_substr($object->name, 0, 15) .'...';
    }
    else {
      $name = $object->name;
    }
    if (user_access('access user profiles')) {
       // línea dónde se ha efectuado el cambio, se ha cambiado por 'user/'. $object->uid:
     $output = l($name, 'usuario/'. $object->name, array('title' => t('View user profile.')));
    }
    else {
      $output = check_plain($name);
    }
  }
  else if ($object->name) {
    if ($object->homepage) {
      $output = l($object->name, $object->homepage);
    }
    else {
      $output = check_plain($object->name);
    }
    $output .= ' ('. t('not verified') .')';
  }
  else {
    $output = variable_get('anonymous', t('Anonymous'));
  }
  return $output;
}
 
// Para el campo:  Node: Author picture
function phptemplate_user_picture($account) {
  if (variable_get('user_pictures', 0)) {
    if ($account->picture && file_exists($account->picture)) {
      $picture = file_create_url($account->picture);
    }
    else if (variable_get('user_picture_default', '')) {
      $picture = variable_get('user_picture_default', '');
    }
 
    if (isset($picture)) {
      $alt = t("@user's picture", array('@user' => $account->name ? $account->name : variable_get('anonymous', t('Anonymous'))));
      $picture = theme('image', $picture, $alt, $alt, '', FALSE);
      if (!empty($account->uid) && user_access('access user profiles')) {
         //la línea de cambio:
        $picture = l($picture, "usuario/$account->name", array('title' => t('View user profile.')), NULL, NULL, FALSE, TRUE);
      }
 
      return "<div class=\"picture\">$picture</div>";
    }
  }
}
Imagen de bea

Módulo OG: error en el argumento de las vistas => OG: Group nid(s)

Tags: 
og
Descripción: 

Los argumentos (para las views) del módulo og no funcionan correctamente, ya que los links de la vista resultante son los mismos que los links de los nodos, en vez de ser el link de la "view" con el argumento de ese nodo.

codigo_code: 
//Fichero og_views.inc
 
// Línea 349, realizar siguiente cambio:
- return l($name, "node/". intval($query->group_nid));   // quitar esta linea
+ return l($name, $arg."/". intval($query->group_nid));  // añadir
 
 
// Línea 378, el siguiente:
- return l($name, "node/$query->group_nid");   //quitar
+ return l($name, "$arg/$query->group_nid");   //añadir
Imagen de bea

Formulario select del nombre de las vistas

Tags: 
forms
codigo_code: 
 $form['views_existing'] = array(
    '#type' => 'fieldset',
    '#title' => t('Existing views'),
     '#collapsible' => 1,
 );
 
  $result = db_query("SELECT name FROM {view_view} ORDER BY name");
  while ($view = db_fetch_array($result)) {
    $form['views_existing']['views_'.$view['name']] = array(
      '#type' => 'checkbox',
      '#title' => t('@s', array('@s' => $view['name'])),
      '#default_value' => variable_get('views_'. $view['name'], FALSE),
    );
  }
  $form['views_default'] = array(
    '#type' => 'fieldset',
    '#title' => t('Default views'),
     '#collapsible' => 1,
  );
 
  views_load_cache();
  $default_views = _views_get_default_views();
  foreach ($default_views as $view) {
    $form['views_default']['views_default_'.$view->name] = array(
      '#type' => 'checkbox',
      '#title' => t('@s', array('@s' => $view->name)),
      '#default_value' => variable_get('views_default_'. $view->name, FALSE),
    );
  }
Imagen de bea

Nº de columnas en Bonus: Grid Views

Tags: 
views
Descripción: 

Hay que colocarlo en el campo Handing argument code de la parte de argumentos de las vistas.
En este ejemplo se verán 7 columnas.

codigo_code: 
$view->gridcount = 7;

Todavía estamos montando esta cocina con Drupal, así que probablemente más de un detalle esté sin acabar en esta web

Inicio de sesión

Navegación

Comentarios recientes

Nuevos

  • fernando
  • dsevila
  • zialdoka
  • ek10
  • juanramonperez