Resumen en los fields

Events happening in the community are now at Drupal community events on www.drupal.org.
leon2004's picture

Hola a todos, en este caso lo que me ocurre es que quiero poner un teaser en un field del texto en mi contenido , este me lo hace automáticamente en el body pero hay no lo quiero ¿como lo puedo situar en un field ? tengo varios field_reparto ect.. con contenido de texto y en uno de ellos quiero ponerle que sea teaser para poder darle una vista de resumen.
Gracias por adelantado

Comments

¿En un view?

eliasdelatorre's picture

Hola!

No sé si te entendí bien:

¿Quieres hacer una vista que muestre algún field (no necesariamente el body) y que en lugar de mostrar ese field completo sólo muestre algunos caracteres, como si fuera el resumen de todo lo que incluye ese campo? Y que, por ejemplo, ¿ya que hagas clic en el resumen te mande a la vista completa del nodo ahora sí?

¿Esto es lo que quieres lograr o es otra cosa?

Saludos!

Personalmente desconozco si

mnico's picture

Personalmente desconozco si existe un módulo que haga eso, pero entiendo que el teaser es un atributo más del node, por lo tanto se podría hacer un campo que se llame field_reparto_teaser, pero creo que sería mejor revisar el “<!--break-->” que se coloca en el campo texto, esto ayuda a identificar el fin del “teaser”, quizás con esto puedas solucionar tu problema sin la necesidad de crear un campo nuevo.

Saludos

Esto tiene node.module para

mnico's picture

Esto tiene node.module para el node_teaser

<?php

 
if (!isset($size)) {
   
$size = variable_get('teaser_length', 600);
  }
 
// Find where the delimiter is in the body
 
$delimiter = strpos($body, '<!--break-->');

 
// If the size is zero, and there is no delimiter, the entire body is the teaser.
 
if ($size == 0 && $delimiter === FALSE) {
    return
$body;
  }

 
// If a valid delimiter has been specified, use it to chop off the teaser.
 
if ($delimiter !== FALSE) {
    return
substr($body, 0, $delimiter);
  }
?>

Por lo tanto si reemplazamos $body por $node->field_reparto[0]['value'] se estaría solucionando tu requerimiento.
a algo como esto:

<?php


  $texto
= $node->field_reparto[0]['value'];

 
$delimiter = strpos($texto, '<!--break-->');

 
//Si no se puso el break, imprime el texto completo
 
if ($delimiter === FALSE) {
    return
$node->$texto;
  }

 
// En caso contrario, imprime el texto hasta donde estaba el break que sería el resumen
 
if ($delimiter !== FALSE) {
    return
substr($texto, 0, $delimiter);
  }
?>

Saludos

Gracias es mas sencillo

leon2004's picture

Simplemente en views elegimos el field y tiene una opcion para que recorte su longitud.
Gracias

Pense que querías tener un

mnico's picture

Pense que querías tener un teaser controlado para los campos.

Saludos

Spanish

Group organizers

Group notifications

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