Làm thế nào để tôi lập trình cài đặt và kích hoạt một mô-đun?


17

Có rất nhiều tài nguyên để thực hiện nó trong Drupal 6, nhưng tôi đã không tìm thấy giải pháp cho Drupal 7.

Làm cách nào tôi có thể cài đặt và kích hoạt các mô-đun được chọn?

Câu trả lời:


27

Chỉ có một bước, sử dụng module_enable():

$modules = array('module1', 'module2'); // Array of module names
$enable_dependencies = TRUE; // Whether or not to enable dependant modules

module_enable($modules, $enable_dependencies);

Điều này có cho phép các mô-đun theo thứ tự giống như trong mảng không?
Brent Connor

Không có @BrentConnor, bản đồ phụ thuộc được tính toán và chúng được cài đặt theo bất kỳ thứ tự nào có ý nghĩa
Clive

8

Đây là cách bạn sẽ làm điều đó với bản cập nhật cơ sở dữ liệu bằng cách sử dụng hook_update_Ntừ *.installtệp của mô-đun được kích hoạt khác . Sau đó, bạn có thể truy cập /update.phptrong trình duyệt hoặc chạy $ drush updbtrên dòng lệnh để mã này được kích hoạt.

/**
 * Enable module1 and module2.
 */
function MYMODULE_update_7101() {

  // Array of module names.
  $modules = ['module1', 'module2'];

  // Whether or not to enable dependant modules.
  $enable_dependencies = TRUE;

  module_enable($modules, $enable_dependencies);
}

1

Trong Drupal 7 không còn drupal_install_modules () nữa , do đó nếu bạn muốn buộc quy trình cài đặt mô-đun lập trình (nếu nó đã được bật), bạn có thể sử dụng:

module_invoke('module_name', 'install');

Để kích hoạt, nó chỉ đơn giản là:

module_enable(array('module_name'));

Hoặc sử dụng drushnhư một phần của quy trình triển khai:

drush -y en module_name

0

Đối với drupal 8, bạn có thể sử dụng như sau:

\Drupal::service("module_installer")->install(["my_custom_module"]);

Trong cơn say:

drush php-eval '\Drupal::service("module_installer")->install(["my_custom_module"]);'

Nếu bạn muốn hướng nội IDE, hãy sử dụng: `` `/ ** @var \ Drupal \ Core \ Extension \ ModuleInstallerInterface $ moduleInstaller * / $ moduleInstaller = \ Drupal :: service (" module_installer "); $ moduleInstaller-> install (['readmehelp']); `` `
geek-merlin
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.