Câu trả lời:
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
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.
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.
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
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.
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);
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ả ( .FRX
tệp, tài liệu XHTML) để tạo báo cáo trông như sau:
<?xml version="1.0"?>
<!DOCTYPE root [
<!ENTITY nbsp " ">
]>
<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) .FRX
tệ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'
Đố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)
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.
drush @sites pml --no-core --type=module --status="enabled" -y
và lọc trên nói some_module bằng grep `| grep some_module`