Cuando se utilizan vistas para mostrar la fecha de inicio y finalización de forma predeterminada, agrega texto "a" entre dos fechas, me preguntaba cuál es la forma adecuada de convertir "a" a "-" o cualquier otra cosa.
Gracias
Cuando se utilizan vistas para mostrar la fecha de inicio y finalización de forma predeterminada, agrega texto "a" entre dos fechas, me preguntaba cuál es la forma adecuada de convertir "a" a "-" o cualquier otra cosa.
Gracias
Respuestas:
Mis respuestas asumen que tengo un campo llamado "field_event_date" que se muestra como Contenido: Fecha del evento en mi opinión.
Respuesta # 1 - Usar plantilla de vista
En la sección Avanzada de la vista, en la sección Otros, abra Información del tema
Copie el nombre de archivo de la última opción de tema para Contenido de campo: Fecha del evento, en mi caso será vistas-vista-campo - VIEWMACHINENAME - BLOCKMACHINENAME - field-event-date.tpl.php
Copie lo siguiente en él:
<?php
/**
* @file
* This template is used to print a single field in a view.
*
* It is not actually used in default Views, as this is registered as a theme
* function which has better performance. For single overrides, the template is
* perfectly okay.
*
* Variables available:
* - $view: The view object
* - $field: The field handler object that can process the input
* - $row: The raw SQL result that can be used
* - $output: The processed output that will normally be used.
*
* When fetching output from the $row, this construct should be used:
* $data = $row->{$field->field_alias}
*
* The above will guarantee that you'll always get the correct data,
* regardless of any changes in the aliasing that might happen if
* the view is modified.
*/
?>
<?php print date("Y-m-d H:i:s", strtotime($row->field_field_event_date[0]["raw"]["value"])); ?>
-
<?php print date("Y-m-d H:i:s", strtotime($row->field_field_event_date[0]["raw"]["value2"])); ?>
Esto generará algo así como 2014-08-09 20:15:00 - 2014-08-12 20:15:00, formatear usando la cadena de formato de fecha () .
Respuesta # 2 - Usar campos de vista
Esto generará algo como domingo, 1 de diciembre de 2013 - 12:00 - domingo, 1 de diciembre de 2013 - 12:00, según el formato que haya elegido.
[field_my_time] - [field_my_time_1]
.
Aunque la respuesta anterior es correcta, es una buena práctica no utilizar php en un TPL como este. Drupal viene con un montón de APIs elegantes, una de ellas es template_preprocess_views_view_fields ( como se ve aquí )
En tu template.php haz esto:
function YOURTHEME_preprocess_views_view_fields(&$vars) {
if($vars['view']->name == 'YOUR_VIEW') {
if (strpos($vars['fields']['YOUR_FIELD']->content,'to') !== false) {
$vars['fields']['YOUR_FIELD']->content = str_replace('to','-',$vars['fields']['YOUR_FIELD']->content);
}
}
}
En la fecha 7.x-2.8 y superior, toda la cadena de "fecha de inicio a fecha de finalización" es traducible. Esto significa que una manera fácil de cambiar el "a" por un "-" es usar el módulo Stride Overrides . Simplemente descargue y habilite el módulo, luego visite / admin / config / regional / stringoverrides. En esa página, agregue "! Fecha de inicio a! Fecha de finalización" (sin comillas) en "Original" y "! Fecha de inicio -! Fecha de finalización" (sin comillas) en "Reemplazo". Clic en Guardar. Es posible que también necesite limpiar las cachés de su sitio antes de ver el cambio.
Un beneficio de este método es que cambiará el "a" a un "-" en los nodos y las vistas a la vez.