Bir içerik türü nasıl kopyalanır? [kapalı]


14

Bir düğüm türünü klonlamak ve içine birkaç alan eklemek istiyorum. Bence en basit olanı çoğaltmak ve üzerinde çalışmaya başlamak olacak.

Drupal 7'de bir içerik türünü klonlamanın resmi bir yolu yok gibi görünüyor. Özellikler buna izin verebilir, ancak bunun nasıl yapılabileceğine dair yazılı bir prosedür yoktur.

Bundle Copy modülünü bile denedim .

Drupal 7'de herhangi bir içerik türünü kopyalamanın en iyi yolu ne olacak?


Sadece paket kopyalamayı denediğini fark ettim ... Bunu her zaman kullanıyorum, işe yaramayan nedir?
Clive


1
@NikhilM Alan ekleyerek bu benzer bir soru, ancak 11645 bir kopyası değil.
mpdonadio

Yanıtlar:


12

En kolay yol Bundle kopya modülünü kullanmaktır , ancak bunu çalıştıramazsanız Yapılandırma Yönetimi modülünü öneririm .

Konfigürasyon yönetimi modülü, Drupal sitesindeki belirli konfigürasyonları takip etme, bu konfigürasyonları farklı ortamlar (yerel, dev, qa, prod) arasında taşıma ve ayrıca konfigürasyonları tamamen farklı siteler arasında taşıma (konfigürasyonları taşıma) olanağı sağlar tüm yapılandırmanın siteye ait olduğu modüller kullanılmadan.

Temelde ihtiyacınız olmayan şeyler ile özellikler. Tek amacı yapılandırmayı bir siteden diğerine taşımaktır.


Paket kopya nasıl kullanılır? Makale türünü dışa aktardım - şimdi aynı kodu içe aktarmadan önce adını değiştirmek için ne yapmalıyım?
AgA

Sadece bir string run çalıştırın ... 'old_content_type' yerine 'new_content_type' yerine, daha önce bu yöntemi kullanarak bir sorun yaşamadım
Clive

Teşekkürler ... Makale içeriği türünü kopyalamak için "makale" yerine geçebilir miyim?
AgA

Evet, ancak dize değiştirme işleminizin büyük / küçük harfe duyarlı olduğundan ve kesme işaretlerini içerdiğinden emin olun (tam bir bilim değildir). PHP kodu şöyle görünecektirstr_replace("'article'", "'new_type'", $export_code);
Clive

Yani sadece makine adının değiştirilmesi mi gerekiyor?
AgA


3

Burada bir sanal alan projesi olarak kullanılabilen İçerik Türü Klonu oluşturdum:

https://www.drupal.org/sandbox/davidfiaty/2745827

PHP koduna bakmak veya karmaşık manipülasyonlar yapmak zorunda kalmadan bir içerik türünü tek bir tıklamayla klonlamanıza izin verir.

Şu anda hala bir sanal alan projesi ancak yakında resmi bir Drupal modülü olarak sunulacak. Bunu kontrol et!

Edit 1: Drupal 7 için Content Type Clone'un resmi sürümü burada! https://www.drupal.org/project/content_type_clone Drupal 8 sürümü çok yakında.

Düzenleme 2: Drupal 8 için İçerik Türü Klonunun resmi sürümü aynı sayfada mevcuttur.


2

Özellik modülü henüz en iyi seçenektir.

Yapmanız gerekenler:

  • Klonlamak istediğiniz içerik türünü Özellik olarak dışa aktarın.
  • Drupal sitenizdeki içerik türünü yeniden adlandırın (yani, "makine adını" değiştirin)
  • Özelliğinizi yükleyin ve etkinleştirin

Bu sayfa , "Drupal 7'de bir içerik türünü klonlamanın resmi yolu" için yanıtınızı verebilir.


1
Buna üzgünüm. Paket kopyayı kullanmak, özelliklerden çok daha kolaydır (ve daha hafiftir). Aynen Yapılandırma
Clive

Dışa aktarılan modülde hangi alanların tam olarak değiştirileceğini ve bu "resmi" bilgi ile ilgili bağlantıyı söyleyebilir misiniz?
AgA

+1 @Clive - Paket Kopyalama'yı burada yeni kullandık - içerik türünü klonlamak için Drupal admin / config menülerindeki 'Yapı' altında 'klon' menü seçeneği sunar. Bu modülü düşünürken tam olarak umduğumuz şey. İyi çalışıyor gibi görünüyor.
therobyouknow

@monymirza, ö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 elle düzenlemeyi içerir. Ö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. Kullanım dev sürümü Paketi kopyala (yazma, şu anda 7.x-2.x-dev sırasında) bu sağladığından (dev sürümünde şu anda işlevselliği söz Saat 10:29 Eki 1 '14 yapılan orijinal yorumunu düzeltilmiş) 'yapı' menüsünde 'klon' menü seçeneği, kutunun dışında, bu görev için yapıldı.
therobyouknow
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.