web-dev-qa-db-fra.com

Comment supprimer les deux points de mes étiquettes de champ?

Je veux simplement pouvoir supprimer les deux-points de mes étiquettes de champs rendus, par exemple:

Nom de l'hôtel: au nom de l'hôtel

J'ai copié field.tpl.php et supprimé les deux points là-bas, mais peu importe ce qui Drupal refuse de l'accepter et tire les deux points d'ailleurs.

Comment puis-je faire cela avec une fonction template.php?

10
blue928

La réponse est certainement d'utiliser field.tpl.php . Si vous regardez la source de ce fichier, vous pouvez voir les lignes incriminées:

<?php if (!$label_hidden): ?>
  <div class="field-label"<?php print $title_attributes; ?>>
    <?php print $label ?>:&nbsp;
  </div>
<?php endif; ?>

(mine d'espacement et d'indentation pour plus de clarté).

Supprimer les deux points est aussi simple que de remplacer les lignes ci-dessus par:

<?php if (!$label_hidden): ?>
  <div class="field-label"<?php print $title_attributes; ?>>
    <?php print $label ?>&nbsp;
  </div>
<?php endif; ?>

Je viens de tester cela sur une installation vierge Drupal et cela fonctionne parfaitement; plus de deux-points après les étiquettes de champ.

Si vous faites déjà la même chose, mais que vous n'obtenez pas les bons résultats, je peux penser à une ou deux choses qui pourraient mal tourner:

  • Vous avez placé votre version personnalisée de field.tpl.php dans un dossier de module, plutôt que dans le dossier de thème actif de votre site (il doit être dans le dossier de thème).
  • Un autre module/élément du système remplace également field.tpl.php, d'une manière plus robuste que vous ne l'êtes actuellement. Voir si c'est le cas impliquera la désactivation toujours fastidieuse de chaque module activé pour déterminer d'où vient le problème.

Vous ne pourrez pas effectuer la modification avec une fonction de prétraitement de modèle, car les deux-points sont codés en dur dans le fichier de modèle.

16
Clive

Je viens de créer un module qui fait exactement cela, supprime les deux points (sur une base par champ) des étiquettes de champ en sortie: Colectomy

9
tanc

S'il s'agit d'une vue avec champs, cliquez simplement sur le champ et décochez "Placer deux points après l'étiquette" sous "Créer une étiquette".

2
Tyler Durden

La suite d'affichage offre également les mêmes fonctionnalités:

Si vous activez les extras de la suite d'affichage, il existe une option pour supprimer les deux-points avant les étiquettes:

Le chemin pour cela est: /admin/structure/ds/list/extras/

enter image description here

2
chrisjlee

Dans mon cas, cela a fonctionné en remplaçant theme_field() (field.module) en copiant la fonction entière sur mon template.php fichier et modification de la ligne qui lit

$output .= '<div class="field-label"' . $variables['title_attributes'] . '>' . $variables['label'] . '&nbsp;</div>';

Videz les caches avant d'essayer.

0
Meetai.com

Je n'ai pas trouvé de réponse à cette question pour Drupal 8 n'importe où. Avec Drupal 8, les deux points sont ajoutés avec un fichier CSS (field.css) dans le thème de base Classy si vous l'utilisez comme thème de base. Tout ce que vous avez à faire est de le remplacer dans votre propre fichier CSS dans votre thème.

Donc, à partir du fichier field.css d'origine:

.field--label-inline .field__label::after {
    content: ':';
}

Dans mon fichier CSS de thème pour supprimer les deux points:

.field--label-inline .field__label::after {
    content: '';
}
0
Stonewall Thomas