Có bất kỳ lệnh hoặc phương pháp nào tôi có thể sử dụng để chèn nội dung của biểu mẫu (ví dụ: biểu mẫu đăng ký người dùng) vào một khối không?Chèn biểu mẫu vào một khối trong Drupal?
Trả lời
drupal_get_form($form_id)
- đặt trong mô-đun hook_block
($ op == 'view') hoặc thậm chí ... shudder ... bên trong một khối có bộ lọc PHP bật.
Bạn cần tìm id biểu mẫu trước - tìm kiếm input
ẩn với tên form_id
trong biểu mẫu. Giá trị của nó phải là id biểu mẫu.
Ngoài ra, bạn có thể chỉ cần sử dụng mô-đun Form Block.
Một điều khác là nó đặt một số mã PHP vào cơ sở dữ liệu, thay vì trong hệ thống tệp nơi phần còn lại là. Thật dễ dàng để quên và lãng phí rất nhiều thời gian tìm kiếm mã, và grep thuận tiện hơn rất nhiều khi đi qua từng khối và xem liệu PHP có ở đó không.
Trong Drupal 7, nó trông như thế này:
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;
}
Mảng hình thức trả về bởi drupal_get_form
sẽ tự động trả lại.
yourmodule_form_function
là một hàm (trong mô đun của bạn hoặc mô-đun Drupal hiện có) trả về mảng biểu mẫu;
hãy nhớ rằng bạn cần triển khai hook_block_info() –
- 1. Thêm js vào biểu mẫu nút drupal
- 2. Lấy id nút bên trong mẫu khối với Drupal 7
- 3. Biểu mẫu Nút tùy chỉnh Drupal
- 4. hộp kiểm tra biểu mẫu drupal
- 5. Chỉnh sửa biểu mẫu trong mô-đun drupal?
- 6. Cách sử dụng xác thực biểu mẫu trong Drupal 7
- 7. Drupal - hiển thị tiêu đề của nút trong một khối
- 8. Cách thêm trường biểu mẫu bên ngoài khối khai báo biểu mẫu
- 9. Drupal 7 views_embed_view và mẫu
- 10. Làm cách nào để thêm biểu mẫu tùy chỉnh vào khối tùy chỉnh trong mô-đun tùy chỉnh của tôi
- 11. Làm thế nào để truy cập dữ liệu biểu mẫu trong hook_form_validate() trong drupal 7
- 12. chèn khối văn bản trong haml
- 13. Drupal: Cách hiển thị kết quả của biểu mẫu trên cùng một trang dưới dạng
- 14. cách chèn hình ảnh vào mẫu email
- 15. playframework 1.2. chèn html thô vào mẫu?
- 16. Mẫu Drupal: muốn hiển thị giá trị biểu mẫu trước đó như default_value trên trang
- 17. Làm cách nào để chèn mẫu vào mẫu khác?
- 18. ASP.net sử dụng biểu mẫu để chèn dữ liệu vào bảng máy chủ sql
- 19. Drupal 7 không hiển thị khối tìm kiếm mà không cần đăng nhập
- 20. Thêm lĩnh vực CCK mẫu tùy chỉnh trong Drupal 7
- 21. Cách chèn NULL vào cơ sở dữ liệu nếu trường biểu mẫu trống
- 22. PHP - Để chèn dữ liệu từ các biểu mẫu hộp kiểm vào MYSQL
- 23. Bao gồm các khối có thể tái sử dụng từ mẫu vào một mẫu khác
- 24. Ngày và giờ tự động chèn vào trường nhập biểu mẫu?
- 25. Drupal 7 - Cách chèn dấu thời gian unix vào cơ sở dữ liệu
- 26. Có mô-đun Drupal cho Biểu mẫu có hành vi kiểu CRUD mạnh mẽ không?
- 27. Đăng ký đầu vào từ biểu mẫu vô hình
- 28. Nhiều ID của biểu mẫu trong thuộc tính biểu mẫu đầu vào của HTML5
- 29. Đường ray Hiển thị một phần của biểu mẫu bên trong một biểu mẫu khác
- 30. Xác thực biểu mẫu Drupal không hoạt động đối với tôi
Cảm ơn. Điều đó đã làm các trick. Nhưng tại sao lại rùng mình? – coderama
Về cơ bản, bộ lọc PHP là một ý tưởng tồi. Từ trang sổ tay Drupal về chủ đề: "... nó là một nguy cơ bảo mật đáng kể và nguy hiểm trong tay của một người dùng độc hại. Ngay cả một người dùng đáng tin cậy có thể vô tình xâm phạm trang web bằng cách nhập mã PHP không đúng định dạng hoặc không chính xác". Bạn gần như luôn luôn tốt hơn viết một mô-đun (chỉ là một vài dòng trên không, thực sự). –
Một giai thoại, tôi đã có một lỗi cú pháp nhỏ trong một nút với bộ lọc PHP. Nó phá vỡ chỉ mục tìm kiếm, đã phá vỡ cron. Nó không có giá trị phức tạp gỡ lỗi. – Grayside