Làm cách nào để nhúng biểu mẫu tạo nút trong chế độ xem


7

Tôi có Chế độ xem với một số trường và một vài mục liên kết.

Những gì tôi muốn làm là khi tôi nhấp vào các mục liên kết, một hình thức tạo nút được liên kết với liên kết sẽ xuất hiện bên trong khung nhìn (cách AJAX).

Giải pháp mà tôi có thể nghĩ đến là nhúng các biểu mẫu bên trong khung nhìn, nhưng không biết làm thế nào để làm điều đó?

Cách tốt nhất để thực hiện điều này là gì?


Đối với drupal 6 drupal.org/project/view_embed_form
Bala

@Bala: tôi đang sử dụng Drupal 7 :(
kmdhrm

1
kiểm tra này kahthong.com/2012/01/embed-drupal-node-form-anywhere : với sự giúp đỡ của module quan điểm php, bạn có thể thêm dòng này trong lĩnh vực php "drupal_render in (node_add ( 'NODE_TYPE'));"
Bala

Câu trả lời:


5

Hy vọng điều này sẽ giúp bạn,

Trong Drupal 7, bạn có thể đạt được bằng các bước sau

  • Bạn có thể nhúng một hình thức tạo nút bên trong XEM

    • Hoặc trong VIEW Header hoặc bạn có thể tạo XEM mới và đính kèm nó vào XEM của bạn
  • Trong ví dụ này, tôi đang nhúng vào Views Header . Nhúng bên trong Views Header sẽ là lựa chọn tốt hơn. Nhấp để thêm tiêu đề lượt xem

    nhập mô tả hình ảnh ở đây

  • Chọn Toàn cầu: Vùng văn bản

    nhập mô tả hình ảnh ở đây

  • Thêm mã PHP và đừng quên thay đổi Định dạng văn bản thành PHP

    nhập mô tả hình ảnh ở đây

  • Mã PHP

    <?php 
        module_load_include('inc', 'node', 'node.pages');
        $node_form = node_add('node_type');
        print drupal_render($node_form);
    ?>
    

Ghi chú :

  • Đừng quên thay thế node_type trong mã PHP.

  • Sử dụng hook_form_alter để chuyển hướng biểu mẫu nút, vì sau khi tạo nút, biểu mẫu sẽ chuyển hướng đến trang chi tiết nút. Nếu bạn muốn chuyển hướng đến trang của mình thì hãy sử dụng $form_state['redirect'] = 'mycustompage'; tài liệu tham khảo

  • Kích hoạt mô-đun Bộ lọc PHP bằng quản trị / mô-đun

nhập mô tả hình ảnh ở đây

  • Đặt Quyền cho module này bằng cách cho phép "Administrator" cho Execute PHP Code như sau:

nhập mô tả hình ảnh ở đây

Nếu bất cứ ai có giải pháp tốt hơn, xin vui lòng chia sẻ nó.


Bạn có vui lòng mở rộng trên "Sử dụng hook_form_alter cho chuyển hướng biểu mẫu nút" không ??
KyleM

Ngoài ra, nếu bạn có thể bao gồm người dùng phải kích hoạt mô-đun "Bộ lọc PHP" và chọn "Quản trị viên" dưới quyền cho "Thực thi mã PHP". Cảm ơn bạn cho giải pháp của bạn!
KyleM

1
Cảm ơn lời đề nghị của bạn, tôi đánh giá cao điều đó. Tôi đã bỏ lỡ vài ý kiến. Tôi đã cập nhật câu trả lời của tôi.
inizio


Giải pháp này sẽ kết xuất mà không vượt qua các thói quen nhất định và cũng thực hiện một vấn đề bảo mật. Ví dụ: mô-đun đơn giản hóa sẽ không hoạt động để xóa các thành phần khỏi biểu mẫu và bạn không thể "xây dựng" các biểu mẫu từ nội dung này theo cách các trường "lượt xem". Bạn chỉ đơn giản thực hiện hình thức nút "như là" từ lõi, trong hầu hết các trường hợp là vô dụng, vì hình thức này quá lộn xộn để được triển khai trong một khối (thanh bên, v.v.). Nên thêm mã php từ giao diện người dùng quản trị viên trong các dự án lớn hơn với mối quan tâm bảo mật.
nilsun

1

Nếu bạn vui lòng chơi với một số mã tùy chỉnh, một câu hỏi tương tự đã được hỏi trên StackOverflow và có một số giải pháp khá rộng để nhúng các biểu mẫu trong chế độ xem. Tất cả những gì bạn cần làm là sử dụng form_id của biểu mẫu tạo nút cụ thể cho loại của bạn và đặt nó trong một trong những giải pháp được đăng ở đây trong trang web của bạn.


1

Hãy xem Inline Entity Form cho việc này; Commerce Kickstart sử dụng điều này như một phần của công thức quản lý các sản phẩm và biến thể sản phẩm. Tôi chắc chắn có nhiều điều hơn tôi có thể nhớ lại ngay bây giờ, nhưng nếu điều này có vẻ hứa hẹn tôi sẽ quay lại và cải thiện câu trả lời này (hoặc, có lẽ những người khác sẽ giúp cải thiện câu trả lời này).

Một mô-đun thay thế tiềm năng (hoặc miễn phí?) Có thể là Entity Views Đính kèm , mà tôi tin rằng nó cũng được sử dụng trong khởi động thương mại.


Không chắc chắn nếu điều này nhấn mạnh cách tiếp cận mong muốn từ OT / OP. IEF và EVA được nhắm mục tiêu nhiều hơn cho các cách tiếp cận biểu mẫu khảo sát hơn là xuất bản các biểu mẫu nội dung.
nilsun

0

Tôi không thể nhận xét giải pháp Lượt xem được đăng bởi inizio, tôi chưa đủ danh tiếng.

Tôi muốn đăng bài rằng bạn có thể giải quyết chuyển hướng biểu mẫu sau khi gửi với Quy tắc và bạn không phải tạo mô-đun tùy chỉnh hook_form_alter.

  • Tạo quy tắc được kích hoạt trên "Sau khi lưu nội dung mới" cho loại nút của bạn
  • Thêm điều kiện, so sánh dữ liệu và so sánh bộ chọn [site: current-page: path] bằng với đường dẫn xem của bạn
  • Thêm chuyển hướng trang hành động vào đường dẫn xem

Có thể hữu ích quá Form Khối và nâng cao Mẫu Khối mô-đun, nhưng đặt mã php theo quan điểm tiêu đề bạn ngăn để cài đặt thêm mô-đun

Và đã xong!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.