İçerik türü nasıl kopyalanır?


Yanıtlar:


13

Yinelenerek dışa aktarmayı kastediyorsanız, Özellikler modülünü kullanın .

Özellikler modülü, Drupal'daki özelliklerin yakalanmasını ve yönetilmesini sağlar. Özellik, birlikte alınan belirli bir kullanım durumunu karşılayan Drupal varlıklarının bir koleksiyonudur.

Özellikler, dışa aktarılabilir modüllerden farklı site oluşturma bileşenlerini almak ve bunları tek bir özellik modülünde bir araya getirmek için bir kullanıcı arayüzü ve API sağlar. Bir özellik modülü, .info dosyasında bileşenlerini (ör. Görünümler, bağlamlar, CCK alanları vb.) Bildirmesi dışında, program aracılığıyla denetlenebilmesi, güncellenebilmesi veya geri döndürülebilmesi için diğer Drupal modüllerine benzer.


1
Bu şu anda en iyi yöntem gibi görünüyor. Ne yazık ki Drupal 6'da Content Copy gibi bir modül (henüz?)
Yok

İhracat yapmam lazım yani demek istiyorsun?
Raptor

2
Bir içerik türünü kopyalamak için özellikler aşırıya kaçmıştır. Çeşitli varlıkları / modülleri / diğerlerini son derece özelleştirilmiş amaçlar için bir araya getirmeyi amaçlamaktadır. Bir içerik türünün basit bir kopyasını istiyorsanız aşağıdaki @ user3936 adresine bakın.
doub1ejack

Bundles Inherit modülünü en kolay buldum; cevabımı aşağıda görebilirsiniz .
Matt Browne

19

Belki çok geç Bundle Copy modülünü kullanabilirsiniz :

Paket kopyası, Drupal 6 için CCK projesinde yaşayan Content copy modülünün yerine geçer. Aşağıdakiler için dışa / içe aktarma desteğine sahiptir: Düğüm türleri, Sınıflandırma, Kullanıcı, Alan API alanları, Alan grupları

GÜNCELLEME 7.x-2.x-dev notları

Aşağıdaki özellikler eklendi:

  • Alan Koleksiyonunu dışa / içe aktarma
  • İçerik türlerinin klonlanması
  • Ticaret Varlığı paketlerini dışa / içe aktarma

Drupal 8: Paket Kopyalama Drupal 8 Çekirdek CMI'da.


1
Paket Kopyalama, bir içerik türünü aynı sitedeki başka bir içerik türüne klonlamak için uygun değildir. Ve bir arama / değiştirme yapmak basit değildir. Diğer içerik türlerine başvuran düğüm dizileri vardır. Bunu tam olarak çözemedim, ama hararetle sordum. Neyin güvenli ve değiştirmek için güvenli olmadığını biliyor olsaydım yardımcı olur. Sadece bir uyarı. (Bu aynı isteğe yanıt veren bir kullanıcı, orijinal içerik türü makine adının tüm örneklerinde arama / değiştirme yaparken db bozulması hataları olduğunu kaydetti.

@ user7558 Paket Kopyalama, bir içerik türünü aynı sitedeki başka bir içerik türüne klonlamak için uygun değildir. Evet, sadece en küçük manuel müdahaleye ihtiyacınız var
Clive

"Aynı sitedeki içerik türlerini klonlama?" drupal.org/node/1589118
gagarine

1
7.x-2.x-dev, UI aracılığıyla aynı sitede bir içerik türünün kopyalanmasını destekler.
mpdonadio

Paket Yaklaşımı, özelliklerin kullanılması, özellik tarafından oluşturulan içerik türü kodunu aramak / değiştirmek / yeniden adlandırmak için makine tarafından oluşturulan kodu düzenlemeyi içereceğinden favori seçenek olduğunu düşünüyorum. Özellik modülü kodunun bu kodu nasıl oluşturduğunu iyi bilmediği sürece, elin bu şekilde kodlanması ve şanssız sonuçlar hakkında bilinmeyenler / varsayımlar olabilir. Güncellendi 1 Ekim 14 yorum 1 arasında 2
therobyouknow

14

Field tools modülünü kullandım ve kusursuz çalıştı.

Tüm yaptığım ikinci içerik türümü oluşturmaktı, tüm alanların yeni içerik türüne kopyalanması için bu modül işlevini kullandıktan sonra modülü kaldırdım. Paket kopyası ve Özellikler , bir içerik türünü çoğaltmanın saçma yolları gibi görünüyor, bu süper basitti ve tam olarak istediğim şeydi.


Yapmak istediğiniz tek şey karmaşık bir özel içerik türünü çoğaltmaksa, bu yol. Özelliklerin gereksiz ek yükü vardır ve içerik türünüz oluşturulan bir modüle bağlıdır. Bleh. Bunu kullan. Yükle / etkinleştir, klonlamak istediğiniz içerik türüne Clone Fieldsgidin, üstte bir sekme arayın , kopyalanacak alanları, kopyalanacak düğümü seçin ve işiniz bitti.
doub1ejack

1
Field Tools'un en hızlı ve en basit yol olduğunu düşünüyorum. Teşekkür ederim!
Roger

Yeni, boş bir içerik türü, Toolssekme oluşturun, Clone fields to this bundlemevcut bir düğüm içerik türünden alanları seçin Add field instances,.
Hugo

4

(Nispeten yeni) Bundle Inherit modülünün bunu yapmanın çok kolay bir yolu olduğunu gördüm . Bundle_inherit modülüne ek olarak "Paket Devralma Düğümü" (bundle_inherit_node) modülünü etkinleştirdiğinizden emin olun, ardından yeni içerik türleri oluştururken yeni bir "Devralma" sekmesi alırsınız.

(Ayrıca "yumuşak devralma" ve "katı devralma" arasında bir seçim sunar ... toplayabildiğim kadarıyla "yumuşak devralma", alanların tek seferlik bir kopyasını alırken "katı devralma" kalıtım hiyerarşisi.)


4

En kolay yol, geliştirilmekte olan ancak benim için mükemmel çalışan 7.2 sürümü olan Bundle Copy'yi kullanmaktır .

Modülü kurduktan sonra, "içerik türleri" sayfanıza gidin ve yeni "klon" sekmesini tıklayın.

"Kaynak Paketi" altında, kopyalamak istediğiniz içerik türünü seçin.

"Yeni Paket Adı" alanına, oluşturmak istediğiniz yeni içerik türünün adını girin. "Klonla" yı tıklayın, şimdi listenizde bu yeni içerik türünü göreceksiniz.

Field Tools da işi yapar ancak bu kadar basit değildir.



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.