Điểm:0

Kết nối React/AJAX với mô-đun tùy chỉnh

lá cờ cn

Tôi đang cố tạo một thành phần mini-CRUD trên trang web Drupal 8. Tôi đang tìm nạp dữ liệu từ một nguồn bên ngoài và hiển thị dữ liệu đó bằng ReactJS.

Tôi muốn cập nhật cơ sở dữ liệu khi người dùng nhấp vào nút trong thành phần React.

<button
    onClick={() =>
        $.ajax({
            type: "POST",
            url: "../path-to-file/script.php",
            data: { id: 'some data' },
        })}
>
    click me
</button>
  • Tôi đã viết thành phần React (index.js),
  • Tôi đã kết nối thành phần React với tập lệnh PHP tùy chỉnh bằng tập lệnh AJAX (tập lệnh.php).
  • Tôi đã viết một mô-đun Drupal 8 tùy chỉnh để xử lý các bản cập nhật cơ sở dữ liệu (mymodule.module).

Tuy nhiên, tôi không thể tìm ra cách kết nối tập lệnh PHP tùy chỉnh (tập lệnh.php) vào mô-đun (mymodule.module) để thực hiện cập nhật.

Mọi sự trợ giúp sẽ rất được trân trọng!

lá cờ cn
Không rõ bạn muốn làm gì. Khi nào bạn muốn thực thi tập lệnh? Tìm một hook drupal thực thi vào thời điểm mong muốn và sử dụng hook đó trong mô-đun để thực thi tập lệnh.
Darcy avatar
lá cờ cn
Cảm ơn Patrick, tôi muốn thực thi tập lệnh khi người dùng nhấp vào nút. Tôi đã cập nhật câu hỏi của mình ở trên để bao gồm điều đó!
Điểm:3
lá cờ cn

Sử dụng AJAX để cho phép người dùng tùy ý chèn dữ liệu vào cơ sở dữ liệu của bạn thông qua tập lệnh PHP tùy chỉnh có vẻ là một ý tưởng thực sự tồi vì nó mở ra một cửa hậu vào Drupal bằng cách lách luật bảo mật của Drupal.

Để làm điều này theo cách "Drupal", bạn có thể sử dụng JSON:API mô-đun trong lõi để xử lý các hoạt động CRUD. Đây là một chủ đề quá rộng để mô tả sâu ở đây, nhưng Drupalize.me có một hướng dẫn (trả phí) tốt.

Điều này cho phép bạn sử dụng JSON:API thực hiện CRUD trên các thực thể Drupal (nút, phương tiện, thuật ngữ phân loại, v.v.) bằng cách sử dụng cùng quyền truy cập như trang web Drupal.

Để sử dụng phương pháp này, bạn cần định cấu hình các thực thể trong Drupal để chúng nhận dữ liệu chính xác khi được cập nhật qua JSON:API.

Thay vì sử dụng tập lệnh PHP tùy chỉnh, tôi sẽ tạo một tập lệnh mới JSON:Tài nguyên API, cho phép bạn thực hiện bất kỳ loại xử lý nào bạn muốn thông qua điểm cuối JSON:API tùy chỉnh. Bằng cách làm theo cách này, bạn sẽ nhận được tất cả các lợi ích của việc làm sạch dữ liệu được tích hợp trong lõi Drupal.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.