custom.module vs template.php


9

Đây là một câu hỏi không được nhắm mục tiêu nhưng tôi không thể tìm thấy bất kỳ thông tin tốt về điều này.

Khi nào nó được coi là thực hành đúng để đặt mã bên trong tệp template.php của bạn và khi nào thực hiện nó trong một mô-đun?

Ý tôi là trong ví dụ hiện tại của tôi, tôi cần gọi hook_pre process_node và bên trong thực hiện một drupal_get_form và biểu hiện biểu mẫu đó. Tôi đã đặt logic của mình vào template.php.

Đúng không? Nếu không, bạn có thể cho tôi một danh sách ngắn về DOS và DONTS liên quan đến vấn đề này không?


1
nếu nó quá phức tạp tôi sẽ đặt nó trong một mô-đun, nếu nó có vài dòng mã tôi đặt nó trong template.php. Sau đó, nó cũng phụ thuộc vào cách sử dụng, nếu đó là cho một chủ đề (template.php) hoặc cho các chủ đề (mô-đun) khác nhau. Tuỳ bạn.
Tyler Durden

Câu trả lời:


9

Có hai điều tôi cố gắng ghi nhớ khi đưa ra quyết định này.

Đây có phải là một tính năng chức năng, hoặc hoàn toàn trực quan? Các thành phần chức năng đi trong các mô-đun. Những người hoàn toàn trực quan đi trong chủ đề.

Điều gì xảy ra nếu tôi thay đổi hoặc thay đổi hoàn toàn chủ đề trên đường và / hoặc cho phép nhiều chủ đề cho trang web của mình? Nếu bạn không muốn sao chép tính năng này, thì nó nên có trong một mô-đun.

Drupal giúp dễ dàng đan xen nội dung, logic kinh doanh và trình bày. Đối với khả năng duy trì lâu dài của một trang web, bạn thực sự cần phải cẩn thận khi bạn thực hiện mọi thứ.

Một nguyên tắc nhỏ là một chủ đề không cần phải biết về ID ( $nid, $uid, $tid, vv) cho bất cứ điều gì, và chỉ nên cần phải biết tên máy để thay đổi diện mạo thị giác.

Trong trường hợp của bạn, việc thêm một biểu mẫu vào một nút là một thay đổi chức năng và tôi thực sự sẽ đưa nó vào một mô-đun.

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.