Jak mogę mieć wiele wartości wyzwalających # stany interfejsu API formularza? Powiedzmy na przykład, że chciałem, aby to pole było widoczne nie tylko, jeśli wartość wynosi 5 (obecnie działa poniżej), ale chciałem, aby to pole było widoczne, jeśli wartości wynoszą 3, 4 lub 5. '#states' => array( 'visible' => array( …
Z jakiegoś powodu muszę zastąpić niektóre znaki (jeśli istnieją) w każdym polu tekstowym w dowolnej formie tuż przed zapisaniem ich w bazie danych. Innymi słowy, potrzebuję haka, w którym mógłbym uzyskać wszystkie przesłane dane i zastąpić ich znaki. Znalazłem to rozwiązanie: function hook_form_alter($form, $form_state, $form_id) { $form['#submit'] = 'my_custom_submission_function'; } …
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby skupiało się tylko na jednym problemie, edytując ten post . Zamknięte 2 lata temu . Mam listę wyboru z opcjami: $options = array(0 => '0', 500 => '500', 1000 => …
Zaktualizowałem jeden z moich modułów Drupal 7 do 8 i mam problem ze zmianą formularza. Dodaję funkcję sprawdzania poprawności i moduł obsługi przesyłania. Funkcja sprawdzania poprawności jest dobrze wywoływana, ale funkcja wysyłania się nie uruchamia. Zastanawiam się, czy to oznacza, że istnieje podejście w stylu Symfony, które należy zastosować, aby …
Tworzę niestandardowy formularz w Drupal 8, pamiętam, że możemy przekierować na niestandardową ścieżkę w Drupal 7 za pomocą zestawu $form_state['redirect'] = 'mycustompath';w niestandardowym module obsługi przesyłania, ale w jaki sposób można przekierować użytkownika po przesłaniu formularza w Drupal 8? Wiem, że powinienem użyć submitFormmetody: public function submitForm(array &$form, FormStateInterface $form_state) …
Mam następujące trasy w module nazwa_modułu.routing.yml. module_name.usergroup_delete: path: 'module_name/usergroup/delete/{arg1}' defaults: _form: '\Drupal\module_name\Form\DeleteUserGroup' _title: 'Delete User group' requirements: _permission: 'access admin menus' To jest kod w module nazwa_modułu / src / Form / DeleteUserGroup.php. namespace Drupal\module_name\Form; use Drupal\Core\Form\ConfigFormBase; use Drupal\Core\Form\FormStateInterface; class DeleteUserGroup extends ConfigFormBase { public function getFormId() { return 'delete_user_group'; …
Używając hook_form_alter, jak mogę przekierować użytkownika na niestandardową stronę po utworzeniu lub edycji węzła zamiast węzła, który został utworzony lub edytowany? Obecny kod hook_form_alter()jest następujący: function custom_form_alter(&$form, &$form_state, $form_id) { if ($form['#id'] == 'custom-node-form') { $form['actions']['submit']['#value'] = t('Add Entry'); $form['field_custom_email']['und'][0]['value']['#element_validate'] = array('_custom_form_validate_email'); } }
Używam, drupal_get_form('event_signup_form')aby osadzić swój niestandardowy formularz w bloku. Formularz jest renderowany zgodnie z przeznaczeniem, ale przesłanie go nie uruchamia niczego. Wywoływana jest sama funkcja formularza event_signup_form($form, &$form_state)i wywoływana jest funkcja wysyłania, event_signup_form_submit($form, &$form_state)ale nie jest ona wywoływana. Korzystam z hook_block_view, aby wyświetlić formularz: function event_block_view($delta = '') { $blocks = …
Moim zadaniem jest przesłanie formularza kontaktowego za pośrednictwem AJAX, a następnie pokazanie „Dziękujemy za przesłanie!” wiadomość załadowana w miejscu, w którym znajdował się formularz. Więc muszę skompilować istniejący formularz kontaktowy. Znalazłem kilka przykładów sprawdzania poprawności pól formularza za pomocą AJAX w D8, ale nie mogę znaleźć żadnego przykładu, jak zaimplementować …
Jak dodać dodatkowy moduł obsługi zgłoszeń? Próbowałem tego, ale to nie zadziałało. function c_coupon_form_alter(&$form, $form_state, $form_id) { drupal_set_message($form_id); switch($form_id) { case 'commerce_checkout_form_review': drupal_set_message($form_id . '_form submit'); $form['#submit'][] = 'c_coupon_review_submit'; } } function c_coupon_review_submit($form, &$form_state) { drupal_set_message('submitted'); }
Wydaje się, że Drupal nie zapobiega przesyłaniu wielu formularzy, nawet na stronach węzłów. Ta kontrola jakości sugeruje naprawienie go po stronie serwera. Jak mogę wyłączyć przycisk przesyłania po kliknięciu? Jakieś inne rozwiązania?
Jak dodać sprawdzanie poprawności formularza po stronie klienta do formularza Drupal? Na przykład w module komentarzy. Jeśli vistor nie poda adresu e-mail, chcę wyskoczyć okno z napisem: „proszę wpisać adres e-mail”. Mam nadzieję, że ktoś da mi przykład tego, jak to robię.
W Drupal 7 istniała opcja zwijania zestawu pól lub nie oraz ograniczenia domyślnego stanu tego elementu formularza (zwiniętego lub nie zwiniętego). Przykład: $form['contact_data'] = array( '#title' => t("Contact data"), '#type' => 'fieldset', '#collapsible' => TRUE, '#collapsed' => FALSE, ); Teraz, w Drupal 8 nie mogę znaleźć attributtes #collapsiblei #collapsedw Drupal\Core\Render\Element\Fieldset. …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.