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

18

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ù.

therobyouknow
la source

Réponses:

16

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 -

Zdenko Vujasinovic
la source
Pouvez-vous expliquer le processus d'exportation d'une vue?
niksmac
raccourci
monymirza
/ admin / structure / vues / importation
Zdenko Vujasinovic
1
@ nikhil-m Pour exporter la vue: 1. allez dans / admin / structure / views 2. sous la colonne 'operations' cliquez sur la flèche et sélectionnez 'export' 3. copiez le code et éditez / changez dans l'éditeur externe 4. got / admin / structure / vues / importation et importation d'une vue modifiée Vous pouvez d'abord supprimer la vue existante ou sélectionner «Remplacer une vue existante si elle existe avec le même nom» dans les paramètres d'importation
Zdenko Vujasinovic
+1 en changeant pour être la réponse acceptée car elle répond pleinement à ma question: 1. pour afficher le nom de la machine et 2. le modifier. J'aime aussi cette solution car elle nécessite le minimum de code et de configuration à faire (pas de code à écrire et pas de dépendances). De plus, montre comment exporter la vue elle-même - ce qui, je pense, sera très utile pour les constructions automatisées de sites Drupal (avec drush, drush make), la gestion du code source et la création rapide de vues similaires à partir d'existants. Je vous remercie!
therobyouknow
9

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".

uwe
la source
Je vais vérifier ça.
therobyouknow
+1 & accepté @mototribe cela fonctionne. Dommage qu'ils ne puissent pas l'afficher en permanence plutôt que d'avoir à planer cependant.
therobyouknow
mise à jour: bonne solution partielle - merci - j'ai déplacé le drapeau accepté vers une autre réponse qui fournit une solution pour changer le nom de la machine.
therobyouknow
6

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 sur la page devel/php(nécessite le module Devel ).
Il y aura un tableau imprimé de vues saisies par nom de machine et vous pourrez trouver votre vue perdue.

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

kalabro
la source
1
La question est: "Comment afficher / modifier le nom de la machine pour une vue?"
kiamlaluno
+1 @kiamlaluno. kalabro Je suis surpris qu'il prenne du code personnalisé pour y parvenir.
therobyouknow
Il s'agit d'un code de débogage unique que vous pouvez exécuter pour parcourir vos vues. Il n'y a pas de colonne avec le nom de machine des vues dans la liste standard des vues. Et il n'y a pas de table DB avec toutes les vues, car certaines vues sont stockées dans le code.
kalabro
4

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

mehar
la source
0

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

Mark Cameron
la source
Terribles conseils, cela cassera votre site.
Danny Englander
Pas si vous êtes intelligent et remplacez le bloc / volet / etc. Autant de travail que de clonage
Mark Cameron
0

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 est quelque part et il est étiqueté comme "nom_machine", donc il n'y a 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.

Sheldon Chang
la source