Como Adicionar "e" em vez de "," ao último campo do "Multiple field settings" no Views?

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

Olá a todos,

Tenho uma dúvida que talvez seja simples de me responderem, mas como ando aqui imerso em código ás vezes o simples torna-se complicado.

Tenho várias views onde preciso listar os valores dos multiple fields como texto no entanto no views aquilo só tem opção para escolher o separador "," (ou outro) para todos e não tem (que eu saiba) forma de se escolher o dilimitador antes do último valor.

Exemplo: Batatas, feijão, arroz, cenouras.

Eu quero: Batatas, feijão, arroz e cenouras.

Será que alguem me pode dar uma mãozinha nisto?

Obrigado.

Comments

Usa a opção rewrite output

camorim's picture

Aí podes construir a sintaxe como queres.

Obrigado mas...

PedroMiguel's picture

Não encontro o rewrite output, se estás a tentar dizer "rewrite results" não tenho nenhuma opção para me dar cada field como delta ou algo que se pareça.

Os únicos campos que tenho lá são:

[field_software] == Conteúdos: Software
[field_software-value] == Raw value

Ou seja, tb não o posso separar ai.

Esse field_software é que tem múltiplos valores e não a view em si.

Por exemplo (deltas da view):

Delta 0 = windows,mac
Delta 1 = windows, mac, linux

Eu preciso é de separar dentro desses deltas, como por exemplo obter no delta 1: windows, mac e linux

template

jolidog's picture

Boas,

Penso que a melhor opção será usares um template do views para esse field especifico e depois fazeres uma coisa do tipo:

(em pseudo code)

verificar o número de items no array

caso igual a 1 > não fazer nada
caso igual a 2 > separar com "e"
caso superior a 2 > separar com "," e no ultimo separar com "e"

só fiz isso uma vez num taxonomy field, mas deve funcionar na mesma.

Boa sorte!

Pois, lá vai ter de ser...

PedroMiguel's picture

É uma pena, porque no views já lá está tudo para separar a lista, incluindo o separador e o número de valores a mostrar. Vou abrir um pedido no views, de certeza não devo ser a única pessoa a querer fazer isto.

Se entretanto ninguem responder por lá, eu vou tentar criar um patch ou um modulo e depois coloco aqui tambem.

Porque é que o dia não tem 32h? ;)

Já agora para quem precisar para o d6

PedroMiguel's picture

Eu sabia que tinha feito algo para o d6 no ano passado, não é bem isto que quero agora, mas.. fica aqui para quem precisar...

Isto é para meter num tpl.php mas pode ser usado noutros lado

<?php
$puntuacion
= ""; $i = 0;
foreach ((array)
$field_meios_de_pagamento as $item) { $i = $i+1;
if (
$i < (count($field_meios_de_pagamento)-1)) { $puntuacion = ", "; }
elseif  (
$i == (count($field_meios_de_pagamento)-1))
{
$puntuacion = " e "; }
else
{
$puntuacion = ". "; }
print
$item['view'].''.$puntuacion.' '; };

?>

Portugal

Group categories

Classificação

Group notifications

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