Chcę utworzyć niestandardowe pole formularza w symfony2 o nazwie daterange
, które rozszerzy domyślny typ pola daty typu symfony i uwzględni zakres dat (data rozpoczęcia i data zakończenia) w dwóch różnych polach tekstowych.Jak mogę utworzyć niestandardowy typ pola w symfony2?
Odpowiedz
Bo nie lubię silnik szablon gałązka ten przykład tylko dla PHP szablonów
Co trzeba to zrobić:
New
TestBundle\Form\Extension\Core\Type\DateRangeType
która rozciągaSymfony\Component\Form\AbstractType
Tutaj powinien:
a. napisz własne metody getParent, getName, buildForm
b. getParent return 'field'
c. getName return "daterange"
d. buildForm ma$builder->add('start', ...)->add('end', ...)->setAttribute('widget', 'daterange')
Dodaj go do di (config.yml jako przykład)
services: form.type.daterange: class: TestBundle\Form\Extension\Core\Type\DateRangeType tags: - { name: form.type, alias: daterange }
Utwórz nowy widget dla niego w
TestBundle/Resources/views/Form/daterange_widget.html.php
ty jako przykład można użyć widgetu daty.Src/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/date_widget.html.php
Dodaj do config (config.yml jako przykład)
framework: templating: form: resources: - 'TestBundle:Form'
i więcej widget personalizacji jako nefo_x powiedział sprawdzić form customization.
Aby to zrobić, należy dodać następujące linie do app/config/config.yml
twig:
form:
resources:
- 'YourSuperBundle:Form:fields.html.twig'
następnie w src/Your/SuperBundle/Resources/views/Form/fields.html.twig
:
{% extends 'form_div_layout.html.twig' %}
{% block daterange_widget %}
... do the customization.
{% endblock %}
Dalsze odniesienia proszę przeczytać form customization z Symfony 2.0 książce.
+1 Wspominając o ścieżce dla 'fields.html.twig' - nie jest to oczywiste w dokumentacji. Dzięki. –
Jest good entry w oficjalnym poradnikiem na temat tworzenia niestandardowego typu pola
- 1. Jak utworzyć niestandardowy typ pola formularza w module?
- 2. Jak utworzyć niestandardowy typ wejścia?
- 3. Podmiot Typ pola ukryty w Symfony2
- 4. jak utworzyć nowy niestandardowy typ opcji w magento?
- 5. Jak utworzyć niestandardowy typ waluty w Magento lub Zend?
- 6. Jak mogę utworzyć niestandardowy procesor postu?
- 7. Jak utworzyć niestandardowy komponent pola rozwijanego z Redux-Form V6?
- 8. Symfony2 Niestandardowy typ forma korzystania podmiot próbuje przetestować
- 9. Jak mogę uzyskać błędy pojedynczego pola w szablonie gałązki Symfony2?
- 10. W GraphQL, jak mogę określić zagnieżdżone tablice jako typ pola?
- 11. Jak utworzyć i dołączyć atrybut niestandardowy do pola w środowisku wykonawczym w Delphi
- 12. Jak zwrócić niestandardowy anonimowy typ?
- 13. niestandardowy kanał logowania monologu w komendzie symfony2
- 14. Symfony2 Doktryna Nierozpoznany pola:
- 15. Jak mogę udostępnić typ pola jednostki w silex?
- 16. Czy mogę utworzyć niestandardowy protokół dla git?
- 17. Jak utworzyć 100% niestandardowy DialogFragment
- 18. X edycji niestandardowy typ pola nie przestrzegając przesłonięte domyślne
- 19. dodać niestandardowy typ w Settings.settings
- 20. Jak utworzyć obiekt DateTime z ciągu znaków w symfony2/php
- 21. Jak utworzyć prosty niestandardowy widok?
- 22. Jak zarejestrować niestandardowy typ pliku w iOS
- 23. Jak utworzyć niestandardowy ekran ładowania w JavaFX?
- 24. Niestandardowy typ bazy danych w ActiveRecord
- 25. Jak utworzyć niedozwoloną odpowiedź w Symfony2?
- 26. Jak utworzyć czarną listę IP w Symfony2?
- 27. Jak utworzyć zadanie cron w Symfony2
- 28. Jak utworzyć niestandardowy przycisk NSButton?
- 29. Jak programowo utworzyć niestandardowy colormap?
- 30. Jak zaktualizować typ pola w elastycznym wyszukiwaniu
Czy opublikowała kod gdzieś? –