Hiyerarşik Seç widget ile Drupal içerik Taksonomi alanları için varsayılan değerler

2 Cevap php

Ben bir hook_form_alter bir içerik Taksonomi alan için varsayılan değeri ayarlamak için çalışıyorum, ama gerekli biçimi aşağı pin olamaz. Ben bu ve birçok varyasyonu denedim:

foreach (element_children($form) as $child) {
// Set $default_value.

  if ($form[$child]['tids']) {
// This, for Content Taxonomy fields, isn't working:
    $form[$child]['tids']['#default_value'] = array('value' => $default_value);
    dsm($form[$child]['tids']['#default_value']);
  }
  else {
// This, for other fields, is working:
    $form[$child][0]['#default_value']['value'] = $default_value;
  }
}

Herkes ne kaçırıyorum bana söyleyebilir?

Edit: In response to Henrik Opel (thanks for getting involved), here is the print out of the relevant field of the form with my changes to the default fields commented out, showing the '#default_value' field I'm trying to influence.

Ayrıca ben kullanıyorum seçeneği eklendi (bu bir faktör olabilir mi?) Hiyerarşik Seçin olduğunu göstermektedir. Yukarıdaki kod DSM (), varsayılan değer değişiklikleri tanınan, ancak daha sonra işlenmiş alamadım.

field_name_of_content_taxonomy_field (Array, 3 elements)
  #tree (Boolean) TRUE
  #weight (String, 1 characters ) 5
  tids (Array, 7 elements)
    #title (String, 10 characters ) Vocabulary_name
    #type (String, 19 characters ) hierarchical_select
    #weight (String, 1 characters ) 5
    #config (Array, 15 elements)
      // 15 elements here
    #required (String, 1 characters ) 0
    #description (String, 0 characters )
    #default_value (Array, 0 elements)

2 Cevap

Turns out the answer was in the documentation: http://drupal.org/node/319190

Ben açık nerede sorun yapmak için soruyu değiştirildi ettik. Bu yerine belirli bir kullanım-durumda soruyu daraltır, ancak İçerik Taksonomi ve Hiyerarşik Seç hem büyük taksonomilerin ile başa çıkmak için yararlı ve önerilen modülleri bulunmaktadır.

(NOT: Burada Drupal 6 varsayarsak)

Yerel bir örneğe bakarak, benim İçerik Taksonomi alanlar 'Tids' özelliği yok, ama ben tek tip 'optionwidgets_buttons' alanları kullanmak, böylece diğer Widget türlerini kullanırsanız, bu farklı olabilir. Eğer işlemek için çalışıyoruz formdan İçerik Taksonomi alan yapısının bir dökümü gönderebilir misiniz?

Bir başka not, İçerik Taksonomi alanlar geri etkileyebilecek form / düğüm işleme daha sonra standart taksonomi dizi formatında, kendi 'dönüşüm' ile ilgili bazı özel etkileşim mantığı var. Yani sorunun varsayılan değerlerine değişimler ilk formu ekranda hiç görünmüyor olduğunu, ya da gösterebilirim, ama daha sonra işlenmiş olsun değil mi?


Edit (after question update): geç cevap için özür dilerim. Emin değilim, ama saha tanımına bakarak, tip bir 'bağımsız' hiyerarşik seçin alette ipucu hangi, hierarchical_select olarak gösterilir. Içerik taksonomi ile birlikte kullanıldığında, 'hs_content_taxonomy' altmodülün gelen kodu yerine beni content_taxonomy_hs bir tür beklemek yapacak. Bu hepsi sadece tahmine ve düzgün yerel kendimi bu test etmek için vaktim yok, ama sen sağ modülü kombinasyonu / yapılandırmayı kullanarak konum olmadığını kontrol etmek isteyebilirsiniz.

Eğer test etmek isteyebilirsiniz hiyerarşik seçeneğini sihrini yapar, bu yüzden de sadece bir tahmindi, ama belki değişiklik önce / sonra gerçekleşmesi gerekiyor - başka bir şey modülleri hiyerarşik seçme modülü (ler) ile ilgili olarak ağırlık ayarlarını kontrol etmek olacaktır sizin modül ayarlanabilir ağırlıkları ile.