it-swarm-vi.com

Thêm biểu mẫu web vào loại nội dung

Tôi muốn tạo một biểu mẫu web và thêm vào loại nội dung. vì vậy khi người dùng tạo nút, biểu mẫu web sẽ tự động thêm vào nút (biểu mẫu web giống với mỗi nút của loại nội dung).

điều này có khả thi với webform 3 không?

5
user780

Bạn có thể làm điều đó bằng nút tham khảo. Thêm các loại trường vào loại nội dung của bạn. Bạn luôn có thể đặt giá trị mặc định cho tự động thêm biểu mẫu web vào nút, nhưng nó không tự động thêm biểu mẫu vào biểu mẫu chỉnh sửa nút.

Tôi kiểm tra nó bằng cách sử dụng tham chiếu và chế độ xem nút, nhưng nó không hiển thị một biểu mẫu web trên trang chỉnh sửa nút (ở dạng tương tự).

Bạn có thể thử sử dụng hook_from_alter, có nghĩa là thêm các trường theo chương trình từ biểu mẫu web tham chiếu. IMO là giải pháp duy nhất hoặc có thể có một số mô-đun cho việc này, nhưng tôi đã không tìm kiếm chúng.

Bạn cũng cần thêm chức năng gửi của mình vào biểu mẫu này vì bạn cũng cần lọc và lưu các trường biểu mẫu web theo chương trình. Kiểm tra API WebForm cho điều này. Rất nhiều công việc, có lẽ bạn nên nghĩ về giải pháp tốt hơn mà không cần lập trình và sử dụng webform?

5
Codium

Tôi chỉ bắt gặp điều này khi tìm kiếm một điều tương tự. Tất nhiên có nhiều cách để đạt được điều này, và nó cũng phụ thuộc một chút vào những gì thực sự mong muốn cho một trường hợp sử dụng nhất định. Với điều này, ý tôi là liệu một biểu mẫu web mới có nên được gắn vào mỗi nút hay không, nếu cùng một biểu mẫu web sẽ được hiển thị trên mỗi trang của nút.

Nếu bạn thực sự muốn đính kèm một biểu mẫu web mới vào mỗi nút, thì bạn có thể bật biểu mẫu web trên loại nội dung đó (từ Cấu hình > Cài đặt biểu mẫu web ). Điều này cho phép tạo một biểu mẫu cho mỗi nút trên loại nội dung đó, nhưng nó không tự động tạo biểu mẫu cho mỗi nút, nó phải được tạo trên mỗi nút. Điều này không thực sự hữu ích nếu bạn muốn cùng một biểu mẫu cho mỗi nút, nhưng nếu bạn muốn biểu mẫu được tạo tự động, thì có một vài mô-đun để trợ giúp điều đó: https://drupal.org/project/webform_templatehttps://drupal.org/project/webform_default_fields

Cách tiếp cận khác là tạo một biểu mẫu web và hiển thị biểu mẫu đó trên mỗi trang của nút. Điều này có thể đạt được bằng cách hiển thị biểu mẫu web dưới dạng một khối và chỉ định khối sẽ hiển thị trong vùng Nội dung và chỉ trên một loại nội dung nhất định. Trước tiên, cho phép sử dụng biểu mẫu web dưới dạng khối bằng cách chỉnh sửa nút biểu mẫu web hiện có, nhấp vào tab Biểu mẫu web , nhấp Cài đặt biểu mẫu , mở Cài đặt nâng cao và kiểm tra Có sẵn dưới dạng khối hộp kiểm. Sau đó, bạn có thể thêm khối từ trang Khối bình thường và hạn chế khả năng hiển thị cho một loại nội dung nhất định chẳng hạn. Nếu bạn cần truy cập vào một số giá trị từ nút nơi biểu mẫu được hiển thị trong biểu mẫu web, bạn có thể thêm chúng dưới dạng các trường ẩn và tạo mô-đun tùy chỉnh lấy chúng từ nút và đặt giá trị thành biểu mẫu. Dưới đây là một số thảo luận và ví dụ về điều này: https://drupal.org/node/1470748

3
Cvuorinen

Bạn có thể thử sử dụng hook_form_alter, có nghĩa là thêm các trường lập trình từ biểu mẫu web tham chiếu. IMO là giải pháp duy nhất nhưng IMO là gì.

0
megi