Drupal bilinen göndererek özel içerik nasıl yapılır

1 Cevap php


I know this is not a drupal forum but, as I’m not getting any response there, I decided to give it a shot here.

Ben kullanıcılardan özel içerik kabul eden bir web sitesi oluşturma. Yani, bu konuda, bu site bir formu ve özel bir modül var. Bunun yerine yönetici temayı kullanarak, bu formu sayfaları geri kalanı ile tek tip bir görünüm için oluşturulan özel bir şablonun içine yerleştirilir. Sonuç olarak, hook_form aracılığıyla form elemanları oluşturmak söz konusu değildir. Benim sorunlarım yalan burada. Bu form özel temayı kullanır gibi, ben gibi emin değilim ne drupal form gönderildiğinde o kullanıcı yeni içerik verilerini göndererek bilmek yapmak için ne yapabilirim?

  • Would I need to use same query string that of content submission page of admin page like - ?q=node/add/page for action attribute of the html form? (OR)

  • tek yol benim özel işlevine url harita ve bunun içinde kanca çeşit çağırmak için mi?

Teşekkürler

1 Cevap

Kelimenin tam anlamıyla sizin form için istediğiniz herhangi bir biçimlendirme oluşturabilir, yapmanız gereken tüm formu tanımladığınızda #theme niteliğini kullanmaktır. Bununla beraber formun kendisi ve elemanlarının herhangi bir tema işlevleri ayarlayabilirsiniz.

Bu Drupal FAPI kullanmak için değil bir very kötü bir fikir olduğunu. Bu sizin için çok sorunları çözer ve sizin sitenizdeki bir güvenlik delik açmak istiyorsanız almak için ilk adım olacaktır kullanarak değil. Eğer API'leri bulunuyor kullanmak istemiyorsanız Drupal gibi bir geliştirme çerçevesi, çok değer değildir.

Edit:
First thing to do, is to go to Drupal's FAPI reference. You can learn almost everything about the FAPI there.

İsterseniz bir şablon kullanabilirsiniz, sadece temel Drupal tema, ama ben buna karşı tavsiye ederiz. Eğer tüm elemanları için tema fonksiyonları oluşturulur ve yerine bir şablon dosyasını düzenlemek zorunda kalmadan, tüm unsurları ile sadece döngü olabilir ve Drupal yaptığı gibi onları işlemek, bunun yerine kullanıldığında ise her değiştirmek için gereken bir çok şey daha rahat olacak formu. Şimdi bir ama daha fazla iş olabilir, ama bu işin bir ödül var: temiz ve daha rahat kod.

Kodunda bu gibi bir şey görünüyor:

$form['item'] = array(
    ...
    '#theme' => 'theme_function',
);

Bunu yapmak, eleman "theme_function" kullanarak render edilecektir. Böyle bir örneğini görebilirsiniz theme function for textfields.