Yazılı bir alanım var ve bunu Drupal 7'deki List (metin) türüne dönüştürmek istiyorum. Kazandığım gibi değeri değiştiremiyorum. İzin ver, bunu yapmanın kolay bir yolu var mı?alan metnini List'e (metin) dönüştürün drupal 7
cevap
Kolay bir yol yok, hayır. Bildiğim kadarıyla söyleyebilirim bu kılavuzu DB yapmak gerekir değiştirir şunlardır: 'LIST_TEXT' ve alan için 'listesi module
kolona
değişiklik
field_config
yılındatype
sütunu. Daha sonradata
sütunundaki serileştirilmiş diziyi bir liste türüyle eşleştirmek için değiştirmeniz gerekir (şu anda metin türleri için ayarlara sahip olacaksınız). Burada nasıl yapılacağını göstermek için kolay bir yolu yok, en iyi yolu liste türü farklı bir alan için biriyle tefrika diziyi karşılaştırmak olacaktır, o zaman/değişikliğini kaldırmak için gerekenleri değerleri görmek mümkün olacak .settings
altındakiallowed_values
dizisi, listenizin değerlerini koyduğunuz yer olacaktır. Bu değiştirildikten sonra, yeniden düzenleyin ve alanınız içindata
sütununa geri koyun. Bundan sonravalue
sütun için bu tablolara bir dizin ekleyin.temizleyin önbelleğe
field_myfield_
ile başlayan alanın
field_data
ve
field_revision
tablolardan herhangi sütunları kaldırmak ancak
değildir
field_myfield_value
(liste türü hala o sütunu gerekir).
, bunun iyi bir fikir almak olurdu bir geri üç tablo kadar sen Her ihtimale karşı oynayacağım.
Sadece benim Helper module sizin için bu işlemesi gereken bazı kodlar yazdım: http://cgit.drupalcode.org/helper/tree/lib/FieldChangeHelper.php?h=7.x-1.x
FieldChangeHelper::changeType('my_text_field_name', 'list_text');
En basit vakalarda ve alanlar için sorunsuz çalışır, ancak iyice test edilmelidir. Ayrıca şu anda herhangi bir alan biçimlendiricisini güncellememektedir, bu yüzden bunu çalıştırdıktan sonra alanın görüntü yapılandırmasını gözden geçirmek isteyeceksiniz.
Teşekkürler - bu harika çalıştı ve zaman kazandı :) –
Bir çekicilik gibi çalıştım! –
teşekkür ederim ben de doğrudan field_config_instance' 'verileri düzenleme veya alanını düzenleyerek ve widget türü olarak "Onay kutuları" "Seç" veya seçerek yapabilirsiniz ya hangi widget türünü değiştirmek zorunda kaldı. Ayrıca bir ipucu olarak, ilk seçme alanını yapmak ve mevcut sütununu düzenlemek için bu seri hale getirilmiş verileri kullanmak daha kolay buluyorum. Temel olarak sadece ismi (ve bu girişlerin karakter uzunluklarını) ve kimliğini değiştirmeniz gerekir. – Wayne