ビューのマシン名を表示/編集するにはどうすればよいですか?


18

ビューのマシン名を表示/編集するにはどうすればよいですか?

尋ねる理由は、ビューのクローンを作成しようとしたが、すでに使用されていたのにどこにあるかわからなかったため、指定した名前が拒否されたためです。

回答:


16

ビューをエクスポートしたり、値を変更したり、元のビューを削除したり、ビューをインポートしたりできます。

ビューリストページにインポートオプションがあります。現在のURLの後にこのURLを貼り付けるだけで、インポートビューページが表示されます。タグを見ると、Drupal 7を使用していると思われるため、以下のURLはDrupal 7でのみ機能します。

追加するURLは次のとおりです。

#overlay=admin/structure/views/import

ビューをエクスポートするには:

  1. / admin / structure / viewsに移動します

  2. 「操作」列の下の矢印をクリックして、「エクスポート」を選択します

  3. コードをコピーし、外部エディターで編集/変更する

  4. / admin / structure / views / importに移動し、変更されたビューをインポートするまず、既存のビューを削除するか、インポート設定で[同じ名前のビューが存在する場合は既存のビューを置き換える]を選択します。


ビューをエクスポートするプロセスを説明してください。
niksmac

ショートカットカット方法
monymirza

/ admin / structure / views / import
Zdenko Vujasinovic

1
@ nikhil-mビューをエクスポートするには、次の手順を実行します。1. / admin / structure / viewsに移動します2.「操作」列で矢印をクリックし、「エクスポート」を選択します3.コードをコピーし、外部エディターで編集/変更します4. / admin /構造/ビュー/インポートおよび変更されたビューのインポートまず、既存のビューを削除するか、インポート設定で「同じ名前の既存のビューを置き換える」を選択することができます
Zdenko Vujasinovic

これが私の質問に完全に答えているため、これを受け入れられた答えに変更します:1.マシン名を表示し、2。編集します。また、このソリューションが気に入っています。必要なコードとセットアップが最小限で済みます(コードを記述せず、依存関係もありません)。さらに、ビュー自体をエクスポートする方法も示します。これは、Drupalサイトの自動ビルド(drush、drush make)、ソースコード管理、および既存のビューをすばやく作成するのに非常に役立つと思います。ありがとうございました!
therobyouknow

9

ビューのマシン名は、少なくともUIでは変更できないと思います。「編集リンク」の上にマウスを置くと、URLにマシン名が表示されます。


これを確認します。
therobyouknow

+1&これが機能する@mototribeを受け入れました。恥ずかしがり、ホバリングする必要はなく、永久に表示できませんでした。
therobyouknow

更新:良い部分的な解決策-ありがとう-承認済みのフラグを、マシン名を変更するための解決策を提供する別の回答に移動しました。
therobyouknow

6

新しいマシン名でクローンを作成できます。

更新:ビューのマシン名を表示する方法。
次のコードを使用して、Drupalインストールのすべてのビューのリストを表示できます。

$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);

このコードはページで実行できますdevel/phpDevelモジュールが必要です)。
マシン名をキーとするビューの配列が印刷され、失われたビューを見つけることができます。

更新: Drupal 7のビューリストページでマシン名でビューを検索できます。このためには、ビュー設定でフラグ「ビューのリストにフィルターを表示」をオンにする必要があります。


1
問題は、「ビューのマシン名を表示/編集するにはどうすればよいですか?」です。
キアムルノ

+1 @kiamlaluno。kalabroこれを実現するには、カスタムコードが必要なことに驚いています。
therobyouknow

これは1回限りのデバッグコードで、実行してビューを確認できます。ビューの標準リストには、ビューのmachine_nameを持つ列はありません。また、一部のビューはコードに格納されるため、すべてのビューを含むDBテーブルはありません。
kalabro

4

$page["#views_contextual_links_info"]["views_ui"]["view_name"] -この変数を使用すると、ビューのマシン名を取得できます。


0

データベースのviews_viewテーブルの名前フィールドのを変更できます。必ずしも最良のアイデアとは限りません。なぜなら、パネルなどのサイトの一部のブロック/ページへの参照を壊してしまう可能性があるからです。


ひどいアドバイス、これはあなたのサイトを破壊します。
ダニーイングランド

あなたがそれについて賢く、ブロック/ペイン/などを交換する場合ではありません。クローン作成と同じくらい多くの作業
マークキャメロン

0

ビューを作成したら、ビューのマシン名を変更できるとは思わず、マシン名を見つけることはまったく直感的ではありません。マシン名を必要とするのはプログラマーとかなり高度なパワーユーザーだけであり、他のすべての人がインターフェイスを理解しやすくするために難読化を処理できるからだと思います。

ビューのマシン名を見つけるには、ビューリストに移動し、行の任意の部分にマウスを置きます。編集ボタンである必要はありません。これは公式のJavaScriptマウスオーバーではないので、ブラウザは、私が見ているのとは異なる方法でレンダリングしたり、まったくレンダリングしなかったりすることもできます。そのような場合、HTMLソースを覗いてみると、見ているビュー行のタグに、のようなタイトル属性があります。

ビュー内のディスプレイのマシン名が必要な場合は、少し簡単です。これは、ビュー編集インターフェースの詳細ブロックにあります。それはどこかにあり、「machine_name」というラベルが付いているので、それを明らかにするための特別なトリックはありません。ビューのマシン名とは異なり、これを変更できます。

ビューのマシン名を変更する必要がある場合はどうしますか?まあ、データベースをカリカリにして、それを手動で編集して、使用されているすべてのマシン名を更新することもできますが、これは私の意見では面倒です。もっと簡単な方法があります。ビューを複製して、本当に必要なマシン名を付けるだけです。クローンが作成された後、間違ったマシン名があった元のものを削除できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.