Danh sách tất cả các mô-đun hoạt động được sử dụng trong một trang web


21

Có cách nào để có một danh sách tất cả các mô-đun được sử dụng (hoạt động) trên một trang web không?

Tôi đang trong quá trình tạo tài liệu cho một trang web và muốn liệt kê tất cả các mô-đun hoạt động, tôi biết tôi có thể lấy chúng từ admin/modulesđó nhưng phải có một cách khác.

Câu trả lời:


33

Bạn có thể sử dụng drush pm-list --type=Module --status=enabledlệnh để nhận danh sách tất cả các mô-đun đã cài đặt.

Nếu bạn muốn loại trừ các mô-đun lõi sử dụng drush pm-list --type=Module --no-core --status=enabled


Như đã đề cập trên một bài đăng liên quan, bạn có thể liệt kê tất cả chúng cho một môi trường nhiều trang web với @sites bằng cách thực hiện drush @sites pml --no-core --type=module --status="enabled" -yvà lọc trên nói some_module bằng grep `| grep some_module`
MediaVince

21

Hai tùy chọn tôi sử dụng là Drush và một tập lệnh tùy chỉnh.

Đối với Drush, bạn có thể sử dụng drush pm-list:

$ drush help pm-list
Show a list of available extensions (modules and themes).

Options:
 --type                                    Filter by extension type. Choices:
                                           module, theme.
 --status                                  Filter by extension status. Choices:
                                           enabled, disable and/or 'not
                                           installed'. You can use multiple
                                           comma separated values. (i.e.
                                           --status="disabled,not installed").
 --package                                 Filter by project packages. You can
                                           use multiple comma separated values.
                                           (i.e. --package="Core -
                                           required,Other").
 --core                                    Filter out extensions that are not
                                           in drupal core.
 --no-core                                 Filter out extensions that are
                                           provided by drupal core.
 --pipe                                    Returns a space delimited list of
                                           the names of the resulting
                                           extensions.


Aliases: pml

Tôi cũng đã viết kịch bản này cho Drupal 6. Bạn cần chỉnh sửa bootstrap cho Drupal 7, và bạn cũng có thể muốn điều chỉnh kiểm tra đường dẫn. Tôi đặt cái này trong một tệp có tên là mô-đun.php trong DOCROOT của tôi và thêm hạn chế truy cập xung quanh nó để ngăn không cho nó được gọi từ tự nhiên.

<?php
include_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
header('Content-Type: text/plain');

$files = drupal_system_listing('/\.module$/', 'modules', 'name', 0);

system_get_files_database($files, 'module');

ksort($files);

$core_installed = array();
$core_enabled = array();
$core_disabled = array();

$contrib_installed = array();
$contrib_enabled = array();
$contrib_disabled = array();

foreach ($files as $info) {
  $filename = $info->filename;
  $name = $info->name;
  $status = $info->status;

  $contrib = strpos($filename, "sites/all/modules/") === 0;

  if ($contrib) {
    $contrib_installed[] = $name;
    if ($status) $contrib_enabled[] = $name;
    else $contrib_disabled[] = $name;
  } else {
    $core_installed[] = $name;
    if ($status) $core_enabled[] = $name;
    else $core_disabled[] = $name;
  }
}

print "Installed Core Modules: " . join(", ", $core_installed) . "\n\n";
print "Enabled Core Modules: " . join(", ", $core_enabled) . "\n\n";
print "Disabled Core Modules: " . join(", ", $core_disabled) . "\n\n";

print "Installed Contrib Modules: " . join(", ", $contrib_installed) . "\n\n";
print "Enabled Contrib Modules: " . join(", ", $contrib_enabled) . "\n\n";
print "Disabled Contrib Modules: " . join(", ", $contrib_disabled) . "\n\n";

Kịch bản này có thể được gọi với drush bằng cách sử dụng: drush scr modules.php


7

Các Enabled Modules (enabled_modules) mô-đun cung cấp danh sách của tất cả các module được kích hoạt trên một trang web.

Hoặc là,

Bạn có thể sử dụng hàm API_list chức năng API này để nhận tất cả các mô-đun được bật.


4

Có, hãy kiểm tra mô-đun Bộ lọc Mô-đun: Trình trợ giúp quản trị viên xuất sắc giúp quản lý các mô-đun dễ dàng hơn nhiều.

Trang danh sách các mô-đun có thể trở nên khá lớn khi xử lý một trang web khá lớn hoặc thậm chí chỉ là một trang dev có nghĩa là để thử nghiệm các mô-đun mới và khác nhau đang được xem xét. Mục đích của mô-đun này là khả năng tìm nhanh mô-đun mà bạn đang tìm kiếm mà không cần phải dựa vào tính năng tìm kiếm của trình duyệt mà không phải hiển thị cho bạn tên mô-đun trong phần 'Bắt ​​buộc bởi' hoặc 'Tùy thuộc vào' các mô-đun khác nhau hoặc thậm chí một số vị trí khác trên trang như một mục menu.

Khi các tab được bật thông qua trang cài đặt của Bộ lọc mô-đun, chủ đề bố trí mô-đun mới được triển khai. Bố cục tab này cung cấp một tab cho mỗi gói cũng như một tab sẽ hiển thị mọi mô-đun theo thứ tự bảng chữ cái. Trường văn bản bộ lọc có sẵn trên mỗi tab nhưng hiện không hỗ trợ tự động hoàn tất.


2

Drush make có khả năng tạo makefile nguyên thủy. Để sử dụng nó, chỉ cần thay đổi thư mục của bạn thành bản cài đặt Drupal mà bạn muốn tạo tệp và chạy lệnh sau:

drush tạo-makefile /path/to/make-file.make

Bạn nhận make-file.make với một danh sách các mô-đun. Sau đó, bạn có thể tải các mô-đun trong dự án khác. Đọc http://www.drush.org/en/master/make/#usage


2

Nếu bạn không có quyền truy cập dòng lệnh để chạy drush, bạn có thể đang tìm kiếm thứ gì đó bạn có thể làm từ Giao diện người dùng web. Giải pháp tốt nhất tôi có thể tìm thấy là duyệt đến trang Mô-đun và sau đó chạy lệnh này trong bảng điều khiển:

jQuery('table.sticky-enabled input[checked=checked]')
  .closest('tr')
  .find('td label strong')
  .each(function() {
    console.log(jQuery(this).text());
})

Điều này sẽ in tất cả các mô-đun được kích hoạt trong bảng điều khiển, nơi bạn có thể sao chép dán chúng vào bất cứ nơi nào bạn muốn.


2

Cách đơn giản nhất tôi đã tìm thấy là một truy vấn cơ sở dữ liệu mà bạn có thể đặt trong một mô-đun tùy chỉnh hoặc tập lệnh Drush để xuất nó theo định dạng bạn muốn.

$enabled_modules = db_query("SELECT name FROM {system} WHERE type = 'module' AND status = 1"); print implode("\n", $enabled_modules);


2

Cài đặt và kích hoạt mô-đun Forena (tiết lộ Tôi là người đồng bảo trì). Người dùng có vai trò "quản trị viên" sau đó sẽ có thể điều hướng đến báo cáo (mẫu) được gửi tại reports/drupaladmin.enabled_contributions, nơi sẽ cung cấp cho bạn danh sách câu hỏi này.

Đây là cách đặc tả ( .FRXtệp, tài liệu XHTML) để tạo báo cáo trông như sau:

<?xml version="1.0"?>
<!DOCTYPE root [
<!ENTITY nbsp "&#160;">
]>
<html xmlns:frx="urn:FrxReports">
<head>
<title>Enabled Modules and Themes</title>
<frx:category>Drupal Administration</frx:category>
<frx:options hidden="0" />
<frx:parameters>
</frx:parameters>
<frx:docgen>
</frx:docgen>

</head>
<body>
  <div frx:block="drupal/enabled_modules" id="forena-1">
    <table>
      <thead>
        <tr>
          <th>name</th>
          <th>owner</th>
          <th>weight</th>
        </tr>
      </thead>
      <tbody>
        <tr frx:foreach="*" id="forena-2">
          <td>{name}</td>
          <td>{owner}</td>
          <td>{weight}</td>
        </tr>
      </tbody>
    </table>
  </div>
</body>
</html>

Và đây là cách khối dữ liệu (câu lệnh SQL) được đề cập trong báo cáo trông như sau:

--ACCESS=access administration pages
SELECT name, owner, weight FROM {system}
WHERE status=1 AND 'module'=type
ORDER BY name

Đó thực sự là "nó".

PS: thoải mái điều chỉnh (điều chỉnh) .FRXtệp và / hoặc khối dữ liệu để phù hợp với nhu cầu của riêng bạn.


AND 'module'=type?! Nên làAND type = 'module'
ajmedway

@ajmedway có lẽ bạn đúng, tại sao không "đề nghị chỉnh sửa"? Tôi rất vui khi được chấp thuận ...
Pierre.Vriens

Nó không phải là một vấn đề lớn tôi cho rằng - điều khoản hoạt động. Nó không phải là thông thường để có tên cột ở phía bên phải của biểu thức với giá trị ở bên trái.
ajmedway

0

Đối với những người không có drush: đi đến trang mô-đun, với bộ lọc mô-đun được bật (không hoàn toàn cần thiết, nhưng tốt cho định dạng).

Sau đó hiển thị trang nguồn, sao chép các mô-đun html bên trong "<" bảng> "sang" <"/ bảng>. Dán vào gedit, bọc một số html xung quanh nó (html, thân) và bạn sẽ có một trang html, bao gồm cả chỉ dẫn về các mô-đun không được sử dụng / bị vô hiệu hóa (hiển thị hộp kiểm không được chọn) có thể quan trọng khi xây dựng lại một trang web (trong trường hợp có thể cần các mô-đun bị vô hiệu hóa hoặc có thể được cài đặt -> gỡ cài đặt để dọn dẹp cơ sở dữ liệu)


0

Mô-đun Schema là một tùy chọn trong khi Chế độ xem cũng có thể thực hiện thủ thuật mặc dù không có mô-đun Chế độ xem bổ sung mà tôi thấy có lỗi, bạn không nhận được số phiên bản.


OP cần danh sách các mô-đun được kích hoạt, không phải phiên bản lược đồ của chúng.
kiamlaluno
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.