Bir Görünümün makine adını nasıl görüntüler / düzenlerim?


18

Bir Görünümün makine adını nasıl görüntüler / düzenlerim?

Sormanın nedeni, bir görüşü kopyalamayı denememdi, ancak verdiğim ad zaten kullanılmış olduğu için reddedildi, ancak nerede olduğunu göremedim.

Yanıtlar:


16

Görünümü dışa aktarabilir, değerleri değiştirebilir, orijinali silebilir ve görünümü geri alabilirsiniz.

Görünümler listesi sayfasında bir içe aktarma seçeneği var. Bu URL'yi mevcut URL'nizden sonra yapıştırmanız yeterlidir, içe aktarma görünümleri sayfasını göreceksiniz. Etiketlerinizi görünce Drupal 7 kullandığınızı varsayıyorum, bu nedenle aşağıdaki url yalnızca Drupal 7 için çalışacaktır.

Eklenecek URL aşağıdadır:

#overlay=admin/structure/views/import

Görünümü dışa aktarmak için:

  1. / admin / structure / views sayfasına gidin

  2. 'işlemler' sütununun altındaki oku tıklayın ve 'dışa aktar'ı seçin

  3. harici editörde kodu kopyala ve düzenle / değiştir

  4. / admin / structure / views / değiştirilmiş görünüme içe ve içe aktarma İçe aktarma ayarlarında önce mevcut görünümü silebilir veya 'Aynı adla bir tane varsa mevcut bir görünümü değiştir' seçeneğini belirleyebilirsiniz.


Bir görünümü dışa aktarma sürecini açıklayabilir misiniz?
niksmac

kısayol kesme yolu
monymirza

/ admin / structure / views / import
Zdenko Vujasinovic

1
@ nikhil-m Görünümü dışa aktarmak için: 1. / admin / structure / views dizinine gidin 2. 'işlemleri' sütunu altında oku tıklayın ve 'dışa aktar'ı seçin 3. kodu kopyalayın ve harici düzenleyicide düzenleyin / değiştirin 4. got / admin / değiştirilmiş görünümü yapı / görünümler / içe aktarma ve içe aktarma İçe aktarma ayarlarında önce mevcut görünümü silebilir veya 'Aynı adla varsa mevcut bir görünümü değiştir' seçeneğini belirleyebilirsiniz
Zdenko Vujasinovic

+1, bu soruyu tamamen yanıtladığım için kabul edilen cevap olacak şekilde değiştirdi: 1. makine adını görüntülemek ve 2. düzenlemek. Ben de bu çözümü seviyorum çünkü yapmak için minimum kod ve kurulum gerektirir (hiçbir kod yazılacak ve hiçbir bağımlılık). Buna ek olarak, görünümün nasıl dışa aktarılacağını gösterir - ki bu, Drupal sitelerinin otomatik yapıları (drush, drush make ile), kaynak kodu yönetimi ve mevcut görünümlerden hızlı bir şekilde yapılmasını çok yararlı olacağını düşünüyorum. Teşekkür ederim!
therobyouknow

9

Bir görünümün makine adını değiştirebileceğinizi düşünmüyorum, en azından kullanıcı arayüzünde değil. Fareyi "bağlantıyı düzenle" nin üzerine getirirseniz, makine adını URL'de görebilirsiniz.


Bunu kontrol edeceğim.
therobyouknow

+1 ve kabul edilen bu çalışma için mototribe. Utanç onlar olsa hover yerine kalıcı olarak görüntülemek olamazdı.
therobyouknow

update: iyi kısmi çözüm - teşekkürler - Kabul edilen bayrağı makine adını değiştirmek için bir çözüm sağlayan başka bir cevaba taşıdım.
therobyouknow

6

Yeni makine adıyla klonlayabilirsiniz.

Güncelleme: Bir Görünüm için makine adı nasıl görüntülenir.
Bu kodu kullanarak Drupal kurulumunuzdaki tüm görünümlerin listesini görebilirsiniz:

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

Bu kodu sayfada çalıştırabilirsiniz devel/php( Devel gerekir modülüne ).
Makine adı ile anahtarlanmış basılı görünüm dizisi olacak ve kayıp görünümünüzü bulabileceksiniz.

Güncelleme: Görünümleri makine adına göre Drupal 7'deki görünümler listesi sayfasında arayabilirsiniz. Bunun için Görünümler ayarlarında "Görünümler listesinde filtreleri göster" işaretini açmalısınız.


1
Soru, "Bir Görünüm için makine adını nasıl görüntüler / düzenlerim?"
kiamlaluno

+1 @kiamlaluno. kalabro Bunu başarmak için bazı özel kodlar almam şaşırdım.
therobyouknow

Bu, görünümlerinize bakmak için çalıştırabileceğiniz bir defalık hata ayıklama kodudur. Standart Görünümler listesinde görünümlerin 'makine_adı' içeren bir sütun yoktur. Bazı görünümler kodda saklandığından, tüm görünümlere sahip DB tablosu yoktur.
kalabro

4

$page["#views_contextual_links_info"]["views_ui"]["view_name"] - Bu değişkeni kullanarak görünümünüzün makine adını alabilirsiniz.


0

Değişebilirsin değerini ait isim alanda views_view veritabanındaki tabloya. Her zaman en iyi fikir değildir, çünkü paneller gibi sitenin bazı bölümlerindeki bloklara / sayfalara referansları kesebilirsiniz.


Korkunç tavsiye, bu sitenizi kıracak.
Danny Englander

Bu konuda akıllıysanız ve blok / bölme / vb. Klonlama kadar çok iş
Mark Cameron

0

Bir görünüm oluşturduktan sonra makine adını değiştirebileceğinize inanmıyorum ve makine adını bulmak hiç de sezgisel değil. Bunun, makine adına ihtiyaç duyacağı tek kişinin, programcıların ve arayüzün herkes için daha kolay anlaşılmasını sağlamak için bazı şaşkınlıklarla başa çıkabilen oldukça ileri düzey güçlü kullanıcılar olabileceğini düşünüyorum.

Görünümün makine adını bulmak için görünümler listenize gidin ve farenizi satırın herhangi bir bölümünün üzerinde tutun. Düzenle düğmesi olmak zorunda değildir. Bu resmi bir JavaScript fareyle üzerine gelme değildir, bu nedenle tarayıcınız onu gördüğümden farklı bir şekilde oluşturmayı seçebilir veya belki de hiç oluşturmayabilir. Bu durumlarda, HTML kaynağına göz atabilirsiniz ve baktığınız görünüm satırının etiketinde, benzer bir şey okuyacak bir başlık özelliği olduğunu fark edersiniz.

Görünümün içindeki bir ekranın makine adını istiyorsanız, bu biraz daha kolay. Bu, görünümleri düzenleme arayüzünün Gelişmiş bloğundadır. Orada bir yerde ve "makine_adı" olarak etiketlendi, bu yüzden onu ortaya çıkarmak için herhangi bir özel hile yok. Görünümün makine adından farklı olarak, bunu değiştirebilirsiniz.

Peki görünümün makine adını değiştirmeniz gerekirse ne yaparsınız? Eh, veritabanı ile gevrek alabilirsiniz ve makine adını kullanıldığı her yerde güncellemek için elle düzenleyebilirsiniz, ama bu bence çok fazla sorun. Çok daha kolay bir yol var. Sadece görünümünüzü klonlayın ve gerçekten istediğiniz makine adını verin. Klonlandıktan sonra, makine adı yanlış olan orijinali silebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.