Ответ определенно использовать field.tpl.php . Если вы посмотрите на источник для этого файла, вы увидите оскорбительные строки:
<?php if (!$label_hidden): ?>
<div class="field-label"<?php print $title_attributes; ?>>
<?php print $label ?>:
</div>
<?php endif; ?>
(интервал и отступ для ясности).
Удалить двоеточие так же просто, как заменить вышеприведенные строки на:
<?php if (!$label_hidden): ?>
<div class="field-label"<?php print $title_attributes; ?>>
<?php print $label ?>
</div>
<?php endif; ?>
Я только что проверил это на пустой установке Drupal, и она отлично работает; больше нет двоеточий после меток полей.
Если вы уже делаете то же самое, но не получаете правильных результатов, то я могу подумать об одной или двух вещах, которые могут пойти не так:
- Вы поместили свою пользовательскую версию field.tpl.php в папку модуля, а не в папку активной темы вашего сайта (она должна быть в папке темы).
- Другой модуль / элемент в системе также переопределяет field.tpl.php, более надежным способом, чем вы в настоящее время. Проверка того, так ли это, будет включать в себя всегда утомительное отключение каждого включенного модуля, чтобы определить, откуда возникла проблема.
Вы не сможете внести изменения с помощью функции предварительной обработки шаблона, так как двоеточие жестко запрограммировано в файле шаблона.