Tôi có một thực thể. Tôi cần phải thực hiện một số mã JS khi thực thể tải trong một popup. Có cách nào để thêm mã JS/HTML tùy chỉnh vào một biểu mẫu thực thể thông qua cấu hình lớp quản trị hay không. Ví dụ. để vượt qua một khuôn mẫu như một tùy chọnLàm cách nào để thêm mã JS vào biểu mẫu thực thể?
Trả lời
Bạn có thể làm theo cách này: -
Thêm một tham số lớp trong FormMapper của bạn như thế này: -
bảo vệ configureFormFields function (FormMapper $ formMapper) { $ formMapper -> thêm ('description', null, array ('attr' => array ('lớp' => 'for_popup'), 'cần thiết' => false)) }
Mở rộng
edit.html.twig
/base_edit.html.twig
từ Sonata CRUD Templates
--- edit.html.twig ----
{% extends 'YourBundle:YourAdminClass:base_edit.html.twig' %}
--- base_edit.html.twig ---
{% block javascripts %}
{{ parent() }}
<script type="text/javascript">
// Your JS code here
</script>
{% endblock %}
Sử dụng số edit.html.twig
thay vì Sonata CRUD bằng cách xác định nó trong hàm getEditTemplate (trong lớp Quản trị).
public function getEditTemplate()
{
return 'YourAdminBundle:ControllerName:edit.html.twig';
}
Bạn cũng có thể đặt mẫu chỉnh sửa tùy chỉnh khi bạn tiêm dịch vụ quản trị.
<service id="sonata.admin.bf" class="Wyzbiz\Bundle\MainBundle\Admin\BfAdmin">
<tag name="sonata.admin" manager_type="orm" group="Content" label="BFs"/>
<argument />
<argument>Wyzbiz\Bundle\MainBundle\Entity\Bf</argument>
<argument>WyzbizMainBundle:CRUD</argument>
<call method="setTranslationDomain"><argument>WyzbizMainBundle</argument></call>
<call method="setTemplate"><argument>list</argument>
<argument>WyzbizMainBundle:CRUD/Bf:list.html.twig</argument></call>
</service>
@Jessica Thay vì sử dụng $ this-> setTemplate() bên trong phương pháp configureFormFields của lớp quản trị, bạn có thể thêm thay vì thực hiện riêng của bạn về phương pháp getTemplate, mỏ trông như thế này:
/**
* Override core method to display custom template(s)
*/
public function getTemplate($name)
{
switch ($name) {
case 'edit':
return 'YourAdminBundle:YourAdminEntity:edit.html.twig';
break;
default:
return parent::getTemplate($name);
break;
}
}
- 1. Thêm js vào biểu mẫu nút drupal
- 2. Làm cách nào để thêm hình ảnh xác thực vào biểu mẫu Zend?
- 3. Làm cách nào để thêm mã vào nút thoát trong biểu mẫu C#?
- 4. Mẫu jQuery - Thực thi mã JS bên trong mẫu
- 5. Làm cách nào để thêm dấu hoa thị vào ô mẫu để biểu thị ý nghĩa?
- 6. Làm cách nào để mở biểu mẫu trong biểu mẫu?
- 7. Làm cách nào để xác thực biểu mẫu PDF?
- 8. Làm cách nào để thêm thông số bổ sung vào biểu mẫu button_to?
- 9. Làm cách nào để thêm một 'nút văn bản thuần túy' vào biểu mẫu zend?
- 10. Làm cách nào để thêm các nút động vào biểu mẫu của tôi?
- 11. Làm cách nào để thêm Hàng nghìn dấu tách vào biểu mẫu html
- 12. Làm cách nào để tự động thêm trường nhập vào biểu mẫu?
- 13. Làm cách nào để thêm thuộc tính data vào thẻ biểu mẫu trong simple_form?
- 14. Làm cách nào để thêm trường Mật ong vào biểu mẫu của tôi?
- 15. Cách thêm/vào mẫu preg_replace
- 16. Làm cách nào để tập trung vào biểu mẫu?
- 17. Làm cách nào để thêm trường biểu mẫu vào pdf hiện có với itextsharp?
- 18. Làm cách nào để thêm CAPTCHA vào biểu mẫu PHP của tôi?
- 19. Làm cách nào để xác thực dữ liệu đầu vào trên biểu mẫu SharePoint?
- 20. Cách thêm JS vào Drupal 7
- 21. Capybara: Không thể tìm trường biểu mẫu bằng js: true
- 22. Biểu mẫu Symfony2: Chọn một thực thể hoặc thêm một thực thể mới
- 23. Làm cách nào để thêm các lớp css vào các lựa chọn biểu mẫu symfony2 cụ thể?
- 24. Làm cách nào để thêm biểu tượng vào tệp thực thi được biên dịch mingw-gcc?
- 25. Thêm mã tùy chỉnh vào các thực thể greenDAO
- 26. Cách thêm lớp HTML vào help_text của biểu mẫu Django?
- 27. Làm cách nào để sử dụng HTML :: FormFu để xác thực biểu mẫu jQuery AJAX?
- 28. Làm thế nào để thêm một nút radio vào một biểu mẫu với Zend Framework?
- 29. Làm cách nào để gửi biểu mẫu bằng AJAX/JSON?
- 30. Cách thêm trường nhập ẩn mới vào biểu mẫu gửi
base_edit có nên mở rộng mẫu sonata crud không? Tôi nên chỉ định mở rộng thẻ trong mẫu này hoặc tôi chỉ có thể đặt mẫu này cùng một đường dẫn như trong gói sonata? Cảm ơn sự giúp đỡ của bạn –
Đừng chạm vào bất cứ điều gì trong Sonata. Chỉ cần sao chép base_edit.html.twig của sonata vào thư mục YourBundle/Resources/YourController /. Tôi sẽ cập nhật câu trả lời để giải thích cách thức. – Amit
Sonata dường như đã thay thế hàm getEditTemplate() bằng getTemplate ('chỉnh sửa'), khiến việc này trở nên khó khăn hơn. Điều tôi đã làm cuối cùng là: $ this-> setTemplate ('edit', 'MyBundle: Admin: edit_user.html.twig'); bên trong configFormFields() – Jessica