Czy istnieje polecenie lub metoda, za pomocą której można wstawić zawartość formularza (np. Formularz rejestracyjny użytkownika) do bloku?Wstawianie formularza do bloku w Drupal?
Odpowiedz
drupal_get_form($form_id)
- umieścić go w module za hook_block
($ op == 'view') lub nawet ... dreszcz ... wewnątrz bloku z filtrem na PHP.
Najpierw znajdź identyfikator formularza - poszukaj ukrytego input
w formularzu o nazwie form_id
. Jego wartość powinna być identyfikatorem formularza.
Można również po prostu użyć modułu Form Block.
Jeszcze jedno polega na umieszczeniu kodu PHP w bazie danych zamiast w systemie plików, gdzie reszta jest. Łatwo jest zapomnieć i marnować mnóstwo czasu na wyszukiwanie kodu, a więc grep jest o wiele wygodniejszym sposobem przechodzenia przez każdy blok i sprawdzania, czy jest tam PHP.
w Drupal 7, wygląda następująco:
function yourmodule_block_view($delta='')
{
switch($delta) {
case 'your_block_name':
$block['subject'] = null; // Most forms don't have a subject
$block['content'] = drupal_get_form('yourmodule_form_function');
break;
}
return $block;
}
Tablica formy zwrócone przez drupal_get_form
zostanie automatycznie renderowane.
yourmodule_form_function
jest funkcją (w module lub istniejącym module Drupala), która zwraca tablicę formularzy;
pamiętaj, że musisz zaimplementować hook_block_info() –
- 1. Edycja formularza w module drupal?
- 2. Potrzebujesz przykładu dołączenia kolekcji pól do formularza drupal - drupal 7
- 3. Dodawanie js do formularza węzła Drupal
- 4. Jak używać sprawdzania formularza w Drupal 7
- 5. Dodaj pole CCK do formularza niestandardowego w Drupal 7
- 6. Drupal 7 nie pokazuje bloku wyszukiwania bez logowania
- 7. Automatyczne wstawianie daty i godziny w polu wprowadzania formularza?
- 8. Sprawdzanie poprawności formularza Drupal nie działa dla mnie
- 9. Moduł mapy witryny Drupal
- 10. zmiana zawartości bloku
- 11. Wstawianie daty do db2
- 12. Wstawianie wideo do Mediastore
- 13. Wstawianie obiektów do MongoDB
- 14. Wstawianie do bazy danych
- 15. cezu w Drupal: Załaduj Viewer na stronie w Drupal
- 16. Wstawianie obrazu do ggplot2
- 17. Wstawianie do dwóch tabel
- 18. Pomiń sprawdzanie usunięcia węzła w Drupal 7
- 19. Wstawianie powiązanych modeli w Ecto
- 20. Tabs w bloku
- 21. Wstawianie plików do ponownego załadowania
- 22. Wstawianie dyrektyw do HTML w AngularJS?
- 23. Wstawianie kolumny do istniejącej tabeli w phpmyadmin
- 24. Wstawianie do hashmap, rozliczanie duplikatów w zestawie?
- 25. Jak działa AOP w Drupal?
- 26. Wstawianie symboli Unicode do edittext
- 27. Wstawianie przecinków do liczb całkowitych
- 28. Wstawianie obrazu do wielokropka TCPDF
- 29. Wstawianie daty systemowej do oracle
- 30. wstawianie niestandardowego tekstu do ggplot2
Dzięki. To wystarczyło. Ale dlaczego dreszcz? – coderama
Zasadniczo filtr PHP jest złym pomysłem. Ze strony podręcznika Drupala na ten temat: "... jest to znaczące i niebezpieczne zagrożenie dla bezpieczeństwa w rękach złośliwego użytkownika, nawet zaufany użytkownik może przypadkowo włamać się na stronę, wprowadzając zniekształcony lub niepoprawny kod PHP". Niemal zawsze lepiej jest napisać moduł (naprawdę kilka linii nad głową). –
Jedna anegdota, miałem niewielki błąd składniowy w węźle z filtrem PHP. Zepsuł indeksowanie wyszukiwania, które złamało crona. Nie jest warta złożoności debugowania. – Grayside