Điểm:-1

Làm cách nào để tạo mô-đun ví dụ tùy chỉnh?

lá cờ cn

Tôi muốn tạo một mô-đun tùy chỉnh tối thiểu, tức là một mô-đun có thể được cài đặt nhưng nhìn chung không làm bất cứ điều gì chỉ để hiểu cách các mô-đun tùy chỉnh được tạo sau một thời gian khó khăn với tài liệu.

ví dụ.info.yml

tên: ví dụ
loại: mô-đun
core_version_requirement: ^8 || ^9
mô tả: 'ví dụ'

ví dụ.php

<?php
?>

Giả sử rằng đây là cách để thực hiện và không có gì cần thiết bị thiếu, kết nối giữa hai tệp được thực hiện như thế nào (tôi có nên thông báo cho example.info.yml về example.php) không?

leymannx avatar
lá cờ ne
Tối thiểu chỉ là một tệp thông tin.
Điểm:-1
lá cờ cn

Cách các tập tin được kết nối

Drupal sẽ tự động thực thi tệp PHP với tên mô-đun và phần mở rộng .module; đây là một trường hợp đặc biệt.

Vì vậy, bạn cần đổi tên ví dụ.php đến ví dụ.module.

Nếu bạn muốn thêm các tệp PHP bổ sung không phải là các lớp, bạn sẽ cần đưa chúng vào.

Ví dụ: nếu tôi thêm tệp ví dụ.mail.phpvà tôi muốn đưa nó vào, tôi cần đưa nó vào ví dụ.module như thế này:

include_once 'example.mail.inc';

Nhưng tôi không cần phải bao gồm ví dụ.module bởi vì nó là một trường hợp đặc biệt. ví dụ.module sẽ luôn được thực thi nếu nó tồn tại.

Xác minh example.module được bao gồm

Bạn có thể dùng mô-đun phát triển với kint để gỡ lỗi Drupal và đây là một cách tương đối dễ dàng để kiểm tra xem một tệp có được đưa vào hay không.

Nếu bạn bật mô-đun Devel, hãy thêm đoạn mã sau vào ví dụ.php, và sau đó xây dựng lại bộ đệm, Drupal sẽ sử dụng kint để in ID biểu mẫu trên mọi trang có biểu mẫu.

function example_form_alter(&$form, FormStateInterface $form_state, $form_id) {
  kint($form_id);
}
Kevin avatar
lá cờ in
Bạn sẽ không thực sự bao gồm hoặc yêu cầu các câu lệnh, chúng sẽ là các lớp/dịch vụ có thể gọi được hoặc có thể tiêm được ở bất kỳ đâu trong Drupal. Tên tệp cho hook cũng phải kết thúc bằng .module.
lá cờ cn
@Kevin Rất tiếc, điểm hay về tên tệp. Cá nhân tôi sử dụng bao gồm để giữ các loại móc khác nhau; Tôi đã thêm một ghi chú để làm cho điều đó rõ ràng hơn.
4uk4 avatar
lá cờ cn
Trong Drupal 8/9, các tệp PHP nằm trong thư mục src/ nơi [trình tải tự động] phát hiện chúng (https://www.drupal.org/docs/develop/standards/psr-4-namespaces-and-autoloading-in -drupal-8). Có một số tệp PHP cụ thể mà Drupal bao gồm bỏ qua trình tải tự động như tệp .module này.

Đă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.