Comment changer l'étiquette de la valeur par défaut (-Any-) d'un filtre exposé dans les vues Drupal?

StackOverflow https://stackoverflow.com/questions/4668266

Question

Je crée une vue qui a trois filtres exposés. Tout fonctionne bien, sauf le fait que je ne peux ni traduire ou modifier la chaîne par défaut (-Any-) pour les menus déroulants. Est-il possible de changer cette chaîne à quelque chose de plus significatif comme « S'il vous plaît Sélectionnez » et faire traduisible si la version allemande affiche « COFFEE READY »? J'ai deux captures d'écran qui peuvent être utiles:

les filtres exposés

et

boîte déroulante

Une autre amélioration serait la possibilité de changer le texte « tout » à quelque chose comme « S'il vous plaît sélectionner un (nom de champ ici) » mais je perds espoir pour que =)

UPDATE

IMPORTANT:. Sur d'autres tests, j'ai trouvé que si vous choisissez d'afficher « -Any- » de « admin / build / vues / outils », puis qui est traduisible

Était-ce utile?

La solution

Trois options:

  • Vous pouvez changer avec la localisation, si vous avez déjà qui a permis. Présentation de localisation uniquement pour cette chaîne est beaucoup trop au-dessus.
  • Vous pouvez le changer avec un form_alter, si vous modifiez déjà la forme de toute façon. L'introduction d'un module avec un alter hook_form pour une seule chaîne est beaucoup trop (et la performance maintainance) au-dessus.
  • Vous coud changer avec une substitution de chaîne simple dans votre settings.php

Dans Drupal 7 (diffère drupal6 dans les détails uniquement)

/**
 * String overrides:
 *
 * To override specific strings on your site with or without enabling locale
 * module, add an entry to this list. This functionality allows you to change
 * a small number of your site's default English language interface strings.
 *
 * Remove the leading hash signs to enable.
 */
$conf['locale_custom_strings_en'][''] = array(
   '<Any>'      => 'Whatever!',
);

Notez cependant que cela va changer tous occurrance de la chaîne complète <Any> (sensible à la casse) à Whatever, pas seulement ceux sous cette forme unique.

Autres conseils

Pour tous ceux qui veulent changer juste la valeur de « - Tout - » à quelque chose en particulier utiliser alors un module personnalisé pour remplacer qui ressemble à ceci:

function yourmodulename_form_alter(&$form, $form_state, $form_id) {

  if($form_state['view']->name == 'your_view_name_here') {

    $form['your_dropdown_name']['#options']['All'] = t('- Type -'); // overrides <All> on the dropdown

  }
}

La raison pour laquelle vous pouvez faire est de savoir si vous avez 3 (par exemple) pour 3 dropdowns champs séparés. Ensuite, sur ces derniers ne serait pas très utile pour un utilisateur (en particulier si vous n'utilisez pas les étiquettes).

Dans le code ci-dessus n'oubliez pas de changement « yourmodulename » au nom de votre module.

your_view_name_here doit être le nom de votre point de vue (remplacer les tirets par des underscores - par exemple des « biens de recherche-bar » deviendrait « property_search_bar »)

Et le changement « your_dropdown_name » au nom du champ - je l'ai trouvé cela en utilisant dsm($form) avec le devel module installé et activé. Ceci est généralement le nom de domaine de votre menu déroulant de sorte qu'il pourrait être quelque chose comme « field_my_custom_value ».

Espérons que cela aide quelqu'un qui en a besoin!

Vues étiquette du filtre exposée est intraduisible dans D6. Aller à Administrez> CHANTIER> Vues et sélectionnez Outils d'onglet. Remplacer « étiquette pour la valeur « Any » sur sélection unique en option les filtres exposés: » par traduisible « - Tout - ». Important: visiter les vues avec les filtres exposés dans au moins une langue qui n'est pas votre langue par défaut. Ensuite, vous pouvez traduire "- Tout -". par Aminister> CHANTIER> Traduire l'interface (sensible à la casse)

Ou vous pouvez simplement utiliser une ligne de code jQuery comme ceci:

$(document).ready(function(){

$("#views-exposed-form-url-name-display-name #edit-tid-all a").text("All");

});

Le meilleur module de filtre exposé vous permet de changer l'étiquette « -Any- » dans un vues filtre exposé.

Je préfère aller avec la solution simple: chaîne Dérogations. Avec cela, vous ajoutez simplement une chaîne que vous voulez changer sur votre site, et le remplacer par tout ce que vous voulez (cordes bien sûr).

Peut-être le module https://www.drupal.org/project/views_advanced_labels aide? Je l'ai trouvé, mais ne l'ai pas encore essayé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top