edgar.dueñas
Enviado por edgar.dueñas el Lun, 24/11/2014 - 14:41

Se trata de una función muy sencilla de Drupal llamada "Truncate_utf8" que es usada para recortar campos de tipo texto o cualquier otra cadena de texto, un ejemplo breve seria, si estas trabajando con "View Modes" y tienes que recortar el titulo del nodo y no encuentras un modulo que haga lo que necesitas, puedes hacerlo de forma fácil desde tu modulo personalizado con esta pequeña función.

 

La estructura:
 
truncate_utf8($string, $max_length, $wordsafe = FALSE, $add_ellipsis = FALSE, $min_wordsafe_length = 1);
 
Los parametros:
$string: la cadena de texto a recortar.
$max_length: Un límite superior de la longitud de cadena devuelta, incluyendo puntos suspensivos si,  $add_ellipsis es TRUE.
$wordsafe: If TRUE, intentar truncar en un límite de palabra. Extremos de las palabras son espacios, puntuacion y caracteres Unicode utilizados como límites de las palabras en los idiomas no latinos, ver mas informacion en la documentacion de la función.
$add_ellipsis: si es TRUE, añade t('...') al final de la cadena recortada (por defecto es FALSE). 
$min_wordsafe_length: If $wordsafe si es TRUE, se refiere al minimo de caracteres aceptados en el recorte de la cadena de texto.
 
Ver documentación de la función ent: https://api.drupal.org/api/drupal/includes%21unicode.inc/function/truncate_utf8/7
<?php
// Este es un ejemplo muy bueno recortando campos en drupal 7
function MYMODULE_preprocess_node(&$vars) {
     if ($vars['type'] == 'article' && $vars['view_mode'] == 'teaser') {
          $vars['title'] = truncate_utf8($vars['title'], 50, TRUE, TRUE);
     }
}
 
// Es una excelente forma de recortar campos y es utilizada en el modulo Smart Trim para otras cadenas de texto, como puedes ver es una funcion muy util.
// Basicamente en este ejemplo la primera condicion se refiere al tipo de contenido y la segunda a la View Mode.
// Este codigo mostraria esto como resultado(ejemplo): Dynamically visualize competitive intellectual...
?>