web-dev-qa-db-fra.com

Comment afficher / modifier le nom de la machine pour une vue?

Comment afficher/modifier le nom de la machine pour une vue?

La raison de ma demande est que j'ai essayé de cloner une vue, mais le nom que j'ai donné a été rejeté car il avait déjà été utilisé mais je ne pouvais pas voir où.

18
therobyouknow

Vous pouvez exporter la vue, modifier les valeurs, supprimer l'original et réimporter la vue.

Il existe une option d'importation dans la page de liste des vues. Collez simplement cette URL après votre URL actuelle et vous verrez la page des vues d'importation. En voyant vos balises, je suppose que vous utilisez Drupal 7, donc l'url ci-dessous ne fonctionnera que pour Drupal 7.

Ci-dessous l'URL à ajouter:

#overlay=admin/structure/views/import

Pour exporter la vue:

  1. allez dans/admin/structure/views

  2. sous la colonne "opérations", cliquez sur la flèche et sélectionnez "exporter"

  3. copier le code et éditer/changer dans un éditeur externe

  4. allez dans/admin/structure/vues/importation et importation de la vue modifiée Vous pouvez d'abord supprimer la vue existante ou sélectionner 'Remplacer une vue existante si une existe avec le même nom' dans les paramètres d'importation -

16
Zdenko Vujasinovic

Je ne pense pas que vous puissiez changer le nom de la machine d'une vue, du moins pas dans l'interface utilisateur. Vous pouvez voir le nom de la machine dans l'URL si vous passez la souris sur le "lien d'édition".

9
uwe

Vous pouvez le cloner avec le nouveau nom de la machine.

Mise à jour: Comment afficher le nom de la machine pour une vue.
Vous pouvez voir la liste de toutes les vues dans votre installation Drupal en utilisant ce code:

$views = views_get_all_views();
// Optional: views objects are big so unset large members
foreach ($views as $machine_name => $view) {
  unset($view->display, $view->localization_plugin);
  $views[$machine_name] = $view;
}
// Print array keyed by views machine name
dpm($views);

Vous pouvez exécuter ce code à la page devel/php (nécessite Devel module).
Il y aura un tableau imprimé de vues saisies par nom de machine et vous pourrez retrouver votre vue perdue.

Mise à jour: Vous pouvez rechercher des vues par nom de machine sur la page de liste des vues dans Drupal 7. Pour cela, vous devez activer flag "Afficher les filtres dans la liste des vues" dans les paramètres des vues.

6
kalabro

$page["#views_contextual_links_info"]["views_ui"]["view_name"] - En utilisant cette variable, vous pouvez obtenir le nom de la machine de votre vue.

4
mehar

Je ne pense pas que vous puissiez changer le nom de la machine d'une vue une fois que vous l'avez créée et trouver le nom de la machine n'est pas du tout intuitif. J'imagine que cela peut être dû au fait que les seules personnes qui auraient besoin du nom de la machine seraient des programmeurs et des utilisateurs avancés assez avancés qui peuvent gérer un peu d'obscurcissement pour rendre l'interface plus facile à comprendre pour tout le monde.

Pour trouver le nom de la machine de la vue, accédez simplement à votre liste de vues et maintenez votre souris sur n'importe quelle partie de la ligne. Il n'est pas nécessaire que ce soit le bouton d'édition. Ce n'est pas un survol de JavaScript officiel, donc votre navigateur peut choisir de le rendre d'une manière différente de celle que je vois ou peut-être même de ne pas le rendre du tout. Dans ces cas, vous pouvez jeter un œil à la source HTML et vous remarquerez que dans la balise de la ligne de vue que vous regardez, il y a un attribut title qui lira quelque chose comme.

Si vous voulez le nom de la machine d'un affichage à l'intérieur de la vue, c'est un peu plus facile. C'est dans le bloc avancé de l'interface d'édition des vues. Il se trouve quelque part et il est étiqueté comme "nom_machine", il n'y a donc pas d'astuces spéciales pour le découvrir. Contrairement au nom de la machine de la vue, vous pouvez changer celui-ci.

Alors, que faites-vous si vous devez changer le nom de la machine de la vue? Eh bien, vous pourriez devenir croustillant avec la base de données et la modifier manuellement pour mettre à jour le nom de la machine partout où elle est utilisée, mais c'est trop de problèmes à mon avis. Il existe un moyen beaucoup plus simple. Clonez simplement votre vue et donnez-lui le nom de machine que vous vouliez vraiment. Une fois qu'il est cloné, vous pouvez supprimer celui d'origine qui avait le mauvais nom de machine.

0
Sheldon Chang

Vous pouvez modifier le valeur du champ nom dans la table views_view de la base de données. Pas toujours la meilleure idée, car vous pouvez finir par casser les références aux blocs/pages dans certaines parties du site, comme dans les panneaux.

0
Mark Cameron