C'était vraiment frustrant mais à la fin je l'ai compris:
Dans le fichier tpl de style de sortie de la ligne des vues:
<?php print $wrapper_prefix; ?>
<?php if (!empty($title)) : ?>
<h3><?php print $title; ?></h3>
<?php endif; ?>
<?php $letters = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');
foreach ($letters as $letter):?>
<div class="letter family">
<div class="letter-header"><?php print $letter;?></div>
<?php print $list_type_prefix; ?>
<?php foreach ($rows as $id => $row):?>
<?php $rest = substr($view->result[$id]->node_title,0,1);?>
<?php if ($rest == $letter):?>
<li class="<?php print $classes_array[$id]; ?>"><?php print $row; ?></li>
<?php endif;?>
<?php endforeach; ?>
<?php print $list_type_suffix; ?>
</div>
<?php endforeach;?>
<?php print $wrapper_suffix; ?>
Cela fonctionne pour moi car cette vue produit tous ses résultats, donc je peux supposer en toute sécurité que $ view-> result aura les mêmes éléments que $ lignes. $ row afaik est la sortie de la page en cours. Je ne sais pas si $ view-> result se comporte de la même manière.