Ao usar modos de exibição para exibir data de início e término por padrão, ele adiciona texto "a" entre duas datas, fiquei pensando qual é a maneira apropriada de converter "para" para "-" ou qualquer outra coisa.
obrigado
Ao usar modos de exibição para exibir data de início e término por padrão, ele adiciona texto "a" entre duas datas, fiquei pensando qual é a maneira apropriada de converter "para" para "-" ou qualquer outra coisa.
obrigado
Respostas:
Minhas respostas assumem que eu tenho um campo chamado "field_event_date" que mostra como Conteúdo: Data do Evento na minha visualização.
Resposta nº 1 - Use o modelo de exibição
Na seção Avançado da visualização, na seção Outros, abra Informações sobre o tema
Copie o nome do arquivo da última opção de tema para Conteúdo do campo: Data do evento. No meu caso, será visualizações-vista-campo - VIEWMACHINENAME - BLOCKMACHINENAME - field-event-date.tpl.php
Copie o seguinte para ele:
<?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"])); ?>
Isso produzirá algo como 2014-08-09 20:15:00 - 2014-08-12 20:15:00, formato usando a string de formato date () .
Resposta 2 - Use os campos de exibição
Isso produzirá algo como domingo, 1 de dezembro de 2013 - 12:00 - domingo, 1 de dezembro de 2013 - 12:00, com base no formato que você escolheu.
[field_my_time] - [field_my_time_1]
.
Embora a resposta acima esteja correta, é uma prática recomendada não usar php em um TPL como este. O Drupal vem com várias APIs sofisticadas, uma das quais é template_preprocess_views_view_fields ( como visto aqui )
No seu template.php, faça o seguinte:
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);
}
}
}
Na Data 7.x-2.8 e superior, toda a cadeia "data de início até a data de término" é traduzível. Isso significa que uma maneira fácil de alterar o "para" para um "-" é usar o módulo Substituições de String . Simplesmente faça o download e ative o módulo, depois visite / admin / config / regional / stringoverrides. Nessa página, adicione "! Data de início até! Data de término" (sem aspas) em "Original" e "! Data de início -! Data de término" (sem aspas) em "Substituição". Clique em salvar. Você também pode precisar liberar os caches do site antes de ver a alteração.
Um benefício desse método é que ele altera o "para" para um "-" nos nós e nas visualizações de uma só vez.