किसी साइट में उपयोग किए जाने वाले सभी सक्रिय मॉड्यूल की सूची


21

क्या किसी साइट पर सभी उपयोग किए गए (सक्रिय) मॉड्यूल की सूची होने का एक तरीका है?

मैं एक साइट के दस्तावेजीकरण की प्रक्रिया में हूं और सभी सक्रिय मॉड्यूल को सूचीबद्ध करना चाहूंगा, मुझे पता है कि मैं उन्हें ले जा सकता हूं admin/modulesलेकिन एक और तरीका होना चाहिए।

जवाबों:


33

आप drush pm-list --type=Module --status=enabledसभी स्थापित मॉड्यूल की सूची प्राप्त करने के लिए कमांड का उपयोग कर सकते हैं ।

यदि आप मुख्य मॉड्यूल उपयोग को बाहर करना चाहते हैं drush pm-list --type=Module --no-core --status=enabled


जैसा कि संबंधित पोस्ट पर उल्लेख किया गया है, आप उन सभी को मल्टी साइट के वातावरण के लिए सूचीबद्ध कर सकते हैं जो @sites के साथ कर रहे हैं drush @sites pml --no-core --type=module --status="enabled" -yऔर फ़िल्टर करके कह रहे हैं कि कुछ_मॉडल का उपयोग कर रहे हैं grep `| grep some_module`
MediaVince

21

मेरे द्वारा उपयोग किए जाने वाले दो विकल्प Drush और एक कस्टम स्क्रिप्ट हैं।

ड्रश के लिए, आप उपयोग कर सकते हैं 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

मैंने Drupal 6 के लिए भी यह स्क्रिप्ट लिखी है। आपको Drupal 7 के लिए बूटस्ट्रैप को संपादित करने की आवश्यकता है, और आप पाथ चेकिंग को ट्वीक भी करना चाह सकते हैं। मैंने इसे अपने DOCROOT में मॉड्यूल.php नामक एक फ़ाइल में डाला और इसे जंगली से बुलाया जाने से रोकने के लिए इसके चारों ओर पहुंच प्रतिबंध को जोड़ दिया।

<?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";

इस स्क्रिप्ट को ड्रश के साथ कहा जा सकता है: drush scr modules.php


7

सक्रिय मॉड्यूल (enabled_modules) मॉड्यूल एक वेबसाइट पर सभी सक्षम मॉड्यूल की सूची प्रदान करता है।

या,

आप सभी सक्षम मॉड्यूल प्राप्त करने के लिए इस API फ़ंक्शन मॉड्यूल_लिस्ट का उपयोग कर सकते हैं ।


4

हां, मॉड्यूल फ़िल्टर मॉड्यूल की जांच करें : यह उत्कृष्ट व्यवस्थापक सहायक है जो प्रबंध मॉड्यूल को बहुत आसान बनाता है।

मॉड्यूल सूची पेज काफी बड़ी साइट के साथ काम करते समय काफी बड़ा हो सकता है या यहां तक ​​कि नए और विभिन्न मॉड्यूल के परीक्षण के लिए सिर्फ एक देव साइट का मतलब है। इस मॉड्यूल का लक्ष्य पूरा करने की क्षमता है कि आप जिस मॉड्यूल को खोज रहे हैं, उसे ब्राउज़रों की खोज सुविधा पर भरोसा किए बिना जल्दी से ढूंढने की क्षमता है, जो आपको 'आवश्यक द्वारा' या 'निर्भर करता है' वर्गों पर मॉड्यूल का नाम नहीं दिखाता है। विभिन्न मॉड्यूल या मेनू आइटम की तरह पृष्ठ पर कुछ अन्य स्थान।

जब मॉड्यूल मॉड्यूल फ़िल्टर सेटिंग पृष्ठ के माध्यम से टैब सक्षम किया जाता है, तो एक नया मॉड्यूल लेआउट थीम लागू किया जाता है। यह टैब लेआउट प्रत्येक पैकेज के लिए एक टैब और साथ ही एक टैब प्रदान करता है जो हर मॉड्यूल को वर्णानुक्रम में दिखाएगा। फ़िल्टर टेक्स्टफ़ील्ड प्रत्येक टैब पर उपलब्ध है लेकिन वर्तमान में स्वतः पूर्ण का समर्थन नहीं करता है।


2

ड्रश मेक में एक आदिम मेकफाइल पीढ़ी की क्षमता है। इसका उपयोग करने के लिए, बस अपनी निर्देशिका को Drupal संस्थापन में बदलें, जहाँ से आप फ़ाइल उत्पन्न करना चाहते हैं, और निम्नलिखित कमांड चलाएँ:

drush generate- makefile /path/to/make-file.make

आप मॉड्यूल की एक सूची के साथ make-file.make प्राप्त करते हैं। फिर आप इन मॉड्यूल को अन्य प्रोजेक्ट में लोड कर सकते हैं। Http://www.drush.org/en/master/make/#usage पढ़ें


2

यदि आपके पास ड्रश चलाने के लिए कमांडलाइन एक्सेस नहीं है, तो आप वेब यूआई से कुछ कर सकते हैं। सबसे अच्छा समाधान जो मुझे मिल सकता है वह था मॉड्यूल पृष्ठ पर ब्राउज़ करना और फिर इस कमांड को कंसोल में चलाना:

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

यह कंसोल में सभी सक्षम मॉड्यूल प्रिंट करेगा, जहां आप उन्हें कहीं भी पेस्ट कर सकते हैं।


2

सबसे आसान तरीका जो मैंने पाया है वह एक डेटाबेस क्वेरी है जिसे आप कस्टम मॉड्यूल या ड्रश स्क्रिप्ट में डाल सकते हैं ताकि आप इसे एक प्रारूप में आउटपुट कर सकें।

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


2

स्थापित करें और फोर्ना को सक्षम करें मॉड्यूल को (प्रकटीकरण मैं सह- हूं)। "व्यवस्थापक" भूमिका वाले उपयोगकर्ता तब स्थित डिलीवर (नमूना) रिपोर्ट पर नेविगेट करने में सक्षम होंगेreports/drupaladmin.enabled_contributions होंगे, जो आपको वह सूची देगा, जिसके बारे में यह प्रश्न है।

.FRXरिपोर्ट बनाने के लिए विनिर्देश ( फ़ाइल, एक XHTML दस्तावेज़) इस प्रकार है:

<?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>

और यहां बताया गया है कि रिपोर्ट में उल्लिखित डेटा ब्लॉक (एसक्यूएल स्टेटमेंट) कैसा दिखता है:

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

यह वास्तव में "यह" है।

पुनश्च: .FRXअपनी खुद की जरूरतों को पूरा करने के लिए फ़ाइल और / या डेटा ब्लॉक को ट्यून (अनुकूल) करने के लिए स्वतंत्र महसूस करें ।


AND 'module'=type?! होना चाहिएAND type = 'module'
ajmedway

@ajmedway आप शायद सही हैं, तो "सुझाव संपादित करें" क्यों नहीं? मुझे यह मंजूर करने में खुशी होगी ...
Pierre.Vriens

यह एक बड़ी बात नहीं है कि मुझे लगता है - खंड काम करता है। यह बाईं ओर के मूल्य के साथ अभिव्यक्ति के दाईं ओर स्तंभ नाम रखने के लिए सिर्फ पारंपरिक नहीं है।
ajmedway

0

बिना ड्रम वाले लोगों के लिए: मॉड्यूल पृष्ठ पर जाएं, मॉड्यूल फ़िल्टर सक्षम होने के साथ (बिल्कुल आवश्यक नहीं, लेकिन स्वरूपण के लिए अच्छा है)।

फिर सोर्स पेज दिखाएं, "<" टेबल> "के अंदर" <"/ टेबल> के लिए मॉड्यूल HTML कॉपी करें। गेडिट में पेस्ट करें, इसके चारों ओर कुछ html लपेटें (html, बॉडी), और आपके पास एक html पेज होगा, जिसमें इंडिकेशन का संकेत भी शामिल है। अप्रयुक्त / अक्षम मॉड्यूल (चेक बॉक्स को अनियंत्रित दिखाते हुए) जो एक साइट के पुनर्निर्माण के लिए महत्वपूर्ण हो सकता है (अक्षम मॉड्यूल के रूप में इनोफ़ार की आवश्यकता हो सकती है, या स्थापित किया जा सकता है -> डेटाबेस की सफाई के लिए अनइंस्टॉल किया गया)


0

स्कीमा मॉड्यूल एक विकल्प है, जबकि दृश्य ट्रिक भी कर सकते हैं, हालांकि अतिरिक्त दृश्य सिस्टम मॉड्यूल के बिना, जो मुझे छोटी गाड़ी मिली, आपको न तो वर्जन नंबर मिलते हैं।


ओपी को सक्षम मॉड्यूल की सूची की आवश्यकता होती है, न कि उनके स्कीमा संस्करण की।
kiamlaluno
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.